欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于Docker容器操作的一些常用命令

程序员文章站 2022-07-05 19:09:33
...

Docker容器的使用

容器(container)的定义和镜像(image)几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。

Docker 客户端

使用docker查看到 Docker 客户端的所有命令选项

关于Docker容器操作的一些常用命令

可以通过命令 docker command --help 更深入的了解指定的 Docker 命令使用方法

启动容器

启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器 重新启动。

docker create

docker create 5149fe9d8891

关于Docker容器操作的一些常用命令

docker create命令为指定的镜像(image)添加了一个可读写层,构成了一个新的容器,这个容器并没有运行。

docker start

docker start 64372e458a12d0ceb7c199eaf401cae679d2955c18acdea35ed782548be77c3e

关于Docker容器操作的一些常用命令

docker start命令为容器文件系统创建了一个进程隔离空间。每一个容器只能够有一个进程隔离空间。

可以利用docker start命令,直接将一个已经终止的容器启动运行

docker run

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

OPTIONS说明:

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

--name="nginx-lb": 为容器指定一个名称;

--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-h "mars": 指定容器的hostname;

-e username="ritchie": 设置环境变量;

--env-file=[]: 从指定文件读入环境变量;

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值;

--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

--link=[]: 添加链接到另一个容器;

--expose=[]: 开放一个端口或一组端口;

docker run peithon/ubuntu:v2 /bin/bash

启动一个bash终端,允许用户进行交互

docker run 命令先是利用镜像创建了一个容器,然后运行这个容器,隐藏了docker createdocker start这两个命令的实现细节

关于Docker容器操作的一些常用命令

查看容器

docker ps [OPTIONS]

关于Docker容器操作的一些常用命令

docker ps –a命令会列出所有的容器,不管是运行的,还是停止的。

OPTIONS说明:

-a :显示所有的容器,包括未运行的。

-f :根据条件过滤显示的内容。

--format :指定返回值的模板文件。

-l :显示最近创建的容器。

-n :列出最近创建的n个容器。

--no-trunc :不截断输出。

-q :静默模式,只显示容器编号。

-s :显示总的文件大小。

进入容器

在使用-d参数时,容器启动后会进入后台。某些时候需要进入容器进行操作,有很多种方法,包括使用docker attach命令nsenter工具等。

docker attach

关于Docker容器操作的一些常用命令

使用 attach命令有时候并不方便。当多个窗口同时 attach到同一个容器的时候,所有窗口都会同步显示。当某个窗口因命令阻塞时,其他窗口也无法执行操作了。

这时我们可以利用nsenter工具来对容器进行操作

暂停和恢复容器进程

docker pause

暂停容器中所有的进程

docker unpause

恢复容器中所有的进程

终止容器

docker stop

关于Docker容器操作的一些常用命令

docker stop命令会向运行中的容器发送一个SIGTERM的信号,然后停止所有的进程,即终止一个运行中的容器。

导出容器

docker export

将文件系统作为一个tar归档文件导出到本地文件

关于Docker容器操作的一些常用命令

参数 -o : 将输入内容写到文件

将id为c74e0f07a914的容器按日期保存为tar文件

# docker export -o mysql-`date +%Y%m%d`.tar c74e0f07a914

关于Docker容器操作的一些常用命令

导入容器

docker impor

可以使用docker import从容器快照文件中再导入为镜像

cat ubuntu.tar | docker import - peithon/ubuntu:v2

容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态)

重启容器

docker restart

这个命令会将一个运行态的容器终止,然后再重新启动它

删除容器

docker rm

docker rm [OPTIONS] CONTAINER [CONTAINER...]

OPTIONS说明:  
-f :通过SIGKILL信号强制删除一个运行中的容器

-l :移除容器间的网络连接,而非容器本身

-v :-v 删除与容器关联的卷

强制删除容器22d77a08909c、5c9515d4154e

关于Docker容器操作的一些常用命令

docker rm $(docker ps -q -f status=exited)这个命令将会把所有的容器都删除掉

docker kill

docker kill [OPTIONS] CONTAINER [CONTAINER…]
杀掉一个运行中的容器
OPTIONS说明:
-s :向容器发送一个信号

关于Docker容器操作的一些常用命令

这些就是关于Docker容器的一些操作命令,还有其他的命令打算下次学习