docker常用命令

一、容器生命周期管理

1.1 run 命令

docker run : 创建一个新的容器并允许一个命令

语法

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

OPTIONS说明:

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

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

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

  • -p:端口映射,格式为:主机端口:容器端口

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

  • --name=“xxxx”:为容器指定一个名称;

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

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

  • -h "name":指定容器的hostname;

  • -e username=“xxxx”:设置环境变量;

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

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

  • --net=“bridge”:指定 容器的网络连接类型。支持bridge/none/container四种类型;

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

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

  • -v:挂载

1.2 start/stop/restart 命令

docker start:启动容器

docker stop:停止容器

docker restart:重启容器

语法

docker start/stop/restart [OPTIONS] CONTAINER [CONTAINER ...]

1.3 kill 命令

docker kill:杀掉一个运行中的容器

语法

docker kill [OPTIONS] CONTAINER [CONTAINER ...]

OPTIONS说明:

  • -s:向容器发送一个信号

1.4 rm 命令

docker rm:删除容器

语法

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

OPTIONS说明:

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

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

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

实例

强制删除容器

docker rm -f db01 db02

移除容器nginx对容器db01的连接,连接名db

docker rm -l db

删除容器nginx,并删除容器挂载的数据卷

docker rm -v nginx

1.5 pause/unpause 命令

docker pause:暂停容器中所有的进程。

docker unpause:恢复容器中所有的进程。

语法

docker pause/unpause [OPTIONS] CONTAINER [CONTAINER ...]

1.6 create 命令

docker create:创建一个新的容器但不启动

用法同docker run

语法

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

1.7 exec 命令

docker exec:在运行的容器中执行命令

语法

docker exec [OPTIONS] CONTAINER [COMMAND][ARG...]

OPTIONS说明:

  • -d:分离模式,在后台运行

  • -i:即使没有附加STDIN打开

  • -t:分配一个伪终端

实例

在容器mynginx中以交互模式执行容器内/root/runoob.sh脚本

docker exec -it mynginx /bin/sh /root/runoob.sh
http://www.runoob.com/

在容器mynginx中开启一个交互模式的终端

docker exec -it mynginx /bin/bash
root@dfdsdcd:/#

二、容器操作

2.1 ps 命令

docker ps:列出容器

语法

docker ps [OPTIONS]

OPTIONS说明:

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

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

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

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

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

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

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

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

2.2 inspect 命令

docker inspect:获取容器/镜像的元数据

语法

docker inspect [OPTIONS] NAME|ID [NAME|ID...]

OPTIONS说明:

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

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

  • --type:为指定类型返回JSON。

2.3 top 命令

docker top:查看容器中运行的进程信息,支持ps命令参数

语法

docker top [OPTIONS] CONTAINER [ps OPTIONS]

容器运行时不一定有/bin/bash终端来交互执行top命令,而且容器还不一定有top命令,可以使用docker top来实现查看container中正在运行的进程。

实例

查看容器mymysql的进程信息。

docker top mymysql
UID    PID    PPID     C   STIME   TTY   TIME       CMD
root   24342  24320    0   Feb15   ?     00:03:27   /nfs-subdir-external-provisioner 

查看所有运行容器的进程信息

for i in ·docker ps |grep Up|awk '{print $1}'·;do echo \ &&docker top $i;done

2.4 attach 命令

docker attach:连接到正在运行中的容器。

语法

docker attach [OPTIONS] CONTAINER

2.5 events 命令

docker events:从服务器获取实时事件

语法

docker events [OPTIONS]

OPTIONS说明:

  • -f:根据条件过滤事件;

  • --since:从指定的时间戳后显示所有事件;

  • --until:流水时间显示到指定的时间为止;

2.6 logs 命令

docker logs:获取容器的日志

语法

docker logs [OPTIONS] CONTAINER

OPTIONS说明:

  • -f:跟踪日志输出

  • --since:显示某个开始时间的所有日志

  • -t:显示时间戳

  • --tail:仅列出最新N条容器日志

实例

跟踪查看容器的日志输出

docker logs -f 8c350d1731fc
I0215 13:00:45.732655       1 leaderelection.go:242] attempting to acquire leader lease  kube-system/nfs-pgsc004...
I0215 13:01:03.329957       1 leaderelection.go:252] successfully acquired lease kube-system/nfs-pgsc004

2.7 wait 命令

docker wait:阻塞运行直到容器停止,然后打印出它的退出代码。

语法

docker wait [OPTIONS] CONTAINER [CONTAINER ...]

2.8 export 命令

docker export:将容器作为一个tar包导出

语法

docker export [OPTIONS] CONTAINER

OPTIONS说明:

  • -o:tar包名

2.9 port 命令

docker port:列出指定的容器的端口映射

语法

docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]

三、容器rootfs命令

3.1 commit 命令

docker commit:从容器创建一个新的镜像。

语法

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS说明:

  • -a:提交的镜像作者;

  • -c:使用Dockerfile指令来创建镜像;

  • -m:提交时的说明文字;

  • -p:在commit时,将容器暂停。

实例

docker commit -a "xxxx" -m "xxxxx" dfdsfs3ds mysql:v1

3.2 cp 命令

docker cp:用于容器与主机之间的数据拷贝。

语法

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
docker cp [OPTIONS] DEST_PATH CONTAINER:SRC_PATH

OPTIONS说明:

  • -L:保持原目标中的链接

实例

docker cp /www/dfdf 342dff33f:/www/
docker cp /www/dfdf 342dff33f:/www #重命名
docker cp 342dff33f:/www /tmp/

四、镜像仓库

4.1 login 命令

docker login:登录到一个docker镜像仓库

docker logout:登出一个docker镜像仓库

语法

docker login [OPTIONS] [SERVER]
docker logout [OPTIONS] [SERVER]

OPTIONS说明:

  • -u:用户名

  • -p:密码

4.2 pull 命令

docker pull:从镜像仓库中拉取或者更新镜像

语法

docker pull [OPTIONS] NAME[:TAG]

OPTIONS说明:

  • -a:拉取所有tagged镜像

  • --disable-content-trust:忽略镜像的校验,默认开启

4.3 push 命令

docker push:将本地的镜像上传到镜像仓库,先要登录到镜像仓库

语法

docker push [OPTIONS] NAME[:TAG]

OPTIONS说明:

  • --disable-content-trust:忽略镜像的校验,默认开启

  • -a:推送所有tagged镜像

4.4 search 命令

docker search:从Docker Hub查找镜像

语法

docker search [OPTIONS] TERM

OPTIONS说明:

  • -f:设置过滤条件;

  • --no-trunc:显示完整的镜像描述;

  • --limit:列出指定数量的镜像;

实例

docker search nginx -f "is-official=true" #用于只搜索官方镜像

五、本地镜像管理

5.1 images 命令

docker images:列出本地镜像

语法

docker images [OPTIONS] [REPOSITORY[:TAG]]

OPTIONS说明:

  • -a:列出本地所有的镜像;

  • --digests:显示镜像的摘要信息;

  • -f:显示满足条件的镜像;

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

  • --no-trunc:显示完整的镜像信息;

  • -q:只显示镜像ID;

5.2 rmi 命令

docker rmi:删除本地一个或多个镜像。

语法

docker rmi [OPTIONS] IMAGE [IMAGE...]

OPTIONS说明:

  • -f:强制删除;

  • --no-prune:不移除该镜像的过程镜像,默认移除;

5.3 tag 命令

docker tag:标记本地镜像

语法

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

5.4 build 命令

docker build:用于使用Dockerfile创建镜像

语法

docker build [OPTIONS] PATH | URL | -

OPTIONS说明:

  • --build-arg=[]:设置镜像创建时的变量;

  • --cpu-shares:设置cpu使用权重;

  • --cpu-period:限制CPU CFS周期;

  • --cpuset-cpus:指定使用的CPU id;

  • --cepset-mems:指定使用的内存 id;

  • --disable-content-trust:忽略镜像的校验,默认开启;

  • -f:指定要使用的Dockfile路径;

  • --force-rm:设置镜像过程中删除中间容器;

  • --isolation:使用容器隔离技术;

  • --label=[]:设置镜像使用的元数据;

  • -m:设置内存最大值;

  • --memory-swap:设置swap的最大值为内存+swap,“-1”表示不限swap;

  • --no-cache:创建镜像的过程不使用缓存;

  • --pull:尝试去更新镜像的新版本;

  • --quiet,-q:安静模式,成功后只输出镜像ID;

  • --rm:设置镜像成功后删除中间容器;

  • --shm-size:设置/dev/shm的大小,默认值是64M;

  • --ulimit:Ulimit配置

  • --tag,-t:镜像的名字及标签,通常name:tag或者name格式;可以在一次构建中为一个镜像设置多个标签;

  • --network:默认default,在构建期间设置RUN指令的网络模式;

实例

使用当前目录的Dockerfile创建镜像,标签为runoob/ubuntu:v1。

docker build -t runoob/ubuntu:v1 .

5.5 history 命令

docker history:查看指定镜像的创建历史。

语法

docker history [OPTIONS] IMAGE

OPTIONS说明:

  • -H:以可读的格式打印镜像大小和日期,默认为true;

  • --no-trunc:显示完整的提交记录;

  • -q:仅列出提交记录ID;

5.6 save 命令

docker save:将指定镜像保存成tar归档文件。

语法

docker save [OPTIONS] IMAGE [IMAGE...]

OPTIONS说明:

  • -o:输出到的文件

实例

将镜像ubuntu:v1生成ubuntu_v1.tar包

docker save -o ubuntu_v1.tar ubuntu:v1

5.7 import 命令(export对应)

docker import:从tar包创建镜像。(export对应)

语法

docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

OPTIONS说明:

  • -c:应用docker指令创建镜像;

  • -m:提交时说明文字;

实例

将ubuntu_v1.tar包生成ubuntu:v1镜像

docker import ubuntu_v1.tar ubuntu:v1

5.8 load 命令(save对应)

docker load:导入使用 docker save命令导出的镜像。(save对应)

语法

docker load [OPTIONS]

OPTIONS说明:

  • --input , -i:指定导入的文件,代替 STDIN。

  • --quiet , -q:精简输出信息。

实例

docker load < test.tar
docker load -i test.tar

 import 与 load 都可以导入为一个 image ,但是 export 是对应一个 container ,save 对应一个 image

六、info|version

6.1 info 命令

docker info:显示Docker系统信息,包括镜像和容器数。

语法

docker info [OPTIONS]

6.2 version 命令

docker version:显示Docker版本信息。

语法

docker version [OPTIONS]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值