2023-12-06
Docker
00

目录

Docker 命令手册(六)
一、帮助启动类命令
二、本地镜像管理命令
1、images
语法
实例
2、rmi
语法
实例
3、tag
语法
实例
4、build
语法
实例
5、history
语法
实例
6、save
语法
实例
7、load
语法
实例
8、import
语法
实例
9、volume
语法
实例
三、镜像仓库命令
1、login/logout
语法
实例
2、search
语法
实例
3、pull
语法
实例
4、push
语法
实例
四、容器生命周期管理命令
1、run
语法
实例
1.运行交互式容器,进入 shell:
2.启动一个容器
退出容器
2、start/stop/restart
语法
实例
3、kill
语法
实例
4、rm
语法
实例
5、exec
语法
实例
6、create
语法
7、pause/unpause
语法
实例
五、容器操作命令
1、ps
语法
实例
2、top
语法
实例
3、logs
语法
实例
4、inspect
语法
实例
5、attach
语法
实例
6、events
语法
实例
7、wait
语法
实例
8、export
语法
实例
9、port
语法
实例
六、容器 rootfs 命令
1、commit
语法
实例
2、cp
语法
实例
3、diff
语法
实例
4、system

Docker命令手册(六)

这篇文章介绍了Docker命令手册(六),包含帮助启动类命令、本地镜像管理命令、镜像仓库命令、容器生命周期管理命令、容器操作命令、容器rootfs命令。其中介绍了每个命令的语法与实例,包括images、rmi、tag、build、history、save、load、import、login/logout、search、pull、push、run、start/stop/restart、kill、rm、exec、create、pause/unpause、ps、top、logs、inspect、attach、events、wait、export、port、commit、cp、diff等命令的使用。还提供了关于docker images、docker tag和docker build命令的OPTIONS说明以及表头内容说明。注意,同一仓库源可以有多个TAG版本,若不指定版本标签,则使用默认镜像。

Docker 命令手册(六)

一、帮助启动类命令

  • 启动docker:systemctl start docker
  • 停止docker:systemctl stop docker
  • 查看docker状态:systemctl status docker
  • 开机启动docker:systemctl enable docker
  • 禁止开机自启docker:systemctl disable docker
  • 重新启动docker:systemctl restart docker
  • 查看docker概要信息:docker info
  • 查看docker版本信息:docker version
  • 查看docker帮助文档:docker --help
  • 查看docker命令帮助文档:docker 具体命令 --help

二、本地镜像管理命令

1、images

docker images : 列出本地镜像

语法

bash
docker images [option]

OPTIONS说明:

  • a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
  • –digests :显示镜像的摘要信息;
  • f :显示满足条件的镜像;
  • –format :指定返回值的模板文件;
  • –no-trunc :显示完整的镜像信息;
  • q :只显示镜像ID。

实例

bash
[root@10-60-55-35 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest a6bd71f48f68 12 days ago 187MB

表头内容说明:

  • REPOSITORY :表示镜像的仓库源
  • TAG:镜像标签的版本号,latest 表示最新版本
  • IMAGE ID :镜像 ID
  • CREATED :镜像创建时间
  • SIZE :镜像大小

注意:同一仓库源可以有多个 TAG 版本,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不用的镜像。如果不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像.

2、rmi

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

语法

bash
docker rmi [OPTIONS] [ID/名字]

OPTIONS说明:

  • f :强制删除;

实例

bash
# 删除单个 docker rmi -f 镜像ID [root@localhost ~]# docker rmi -f feb5d9fea6a5 # 删除多个docker rmi-f 镜像名1:TAG 镜像名2:TAG [root@localhost ~]# docker rmi -f nginx:latest 6053537/portainer-ce:latest # 删除全部 [root@localhost ~]# docker rmi -f $(docker images -qa)

3、tag

docker tag : 标记本地镜像,将其归入某一仓库。

语法

bash
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]

实例

将镜像 redis:latest 标记为 redis:8.1 镜像。

bash
[root@localhost ~]# docker tag redis:latest redis:8.1 [root@localhost ~]# docker images redis REPOSITORY TAG IMAGE ID CREATED SIZE redis 8.1 7614ae9453d1 7 months ago 113MB redis latest 7614ae9453d1 7 months ago 113MB

4、build

docker build 命令用于使用 Dockerfile 创建镜像。

语法

bash
docker build [OPTIONS] PATH | URL | -

OPTIONS说明:

  • –build-arg=[] :设置镜像创建时的变量;
  • –cpu-shares :设置 cpu 使用权重;
  • –cpu-period :限制 CPU CFS周期;
  • –cpu-quota :限制 CPU CFS配额;
  • –cpuset-cpus :指定使用的CPU id;
  • –cpuset-mems :指定使用的内存 id;
  • –disable-content-trust :忽略校验,默认开启;
  • f :指定要使用的Dockerfile路径;
  • –force-rm :设置镜像过程中删除中间容器;
  • –isolation :使用容器隔离技术;
  • –label=[] :设置镜像使用的元数据;
  • m :设置内存最大值;
  • –memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;
  • –no-cache :创建镜像的过程不使用缓存;
  • –pull :尝试去更新镜像的新版本;
  • –quiet, -q :安静模式,成功后只输出镜像 ID;
  • –rm :设置镜像成功后删除中间容器;
  • –shm-size :设置/dev/shm的大小,默认值是64M;
  • –ulimit
    配置。
  • –squash :将 Dockerfile 中所有的操作压缩为一层。
  • –tag, -t: 镜像的名字及标签,通常 name
    或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
  • –network: 默认 default。在构建期间设置RUN指令的网络模式

实例

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

bash
docker build -t ubuntu:v1

使用 URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像。

bash
docker build github.com/creack/docker-firefox

也可以通过 -f Dockerfile 文件的位置:

bash
docker build -f /path/to/a/Dockerfile

在 Docker 守护进程执行 Dockerfile 中的指令前,首先会对 Dockerfile 进行语法检查,有语法错误时会返回:

bash
$ docker build -t test/myapp Sending build context to Docker daemon 2.048 kB Error response from daemon: Unknown instruction: RUNCMD

5、history

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

语法

bash
docker history [OPTIONS] IMAGE

OPTIONS说明:

  • H :以可读的格式打印镜像大小和日期,默认为true;
  • –no-trunc :显示完整的提交记录;
  • q :仅列出提交记录ID。

实例

查看本地镜像 hello-world 的创建历史。

bash
[root@localhost ~]# docker history hello-world IMAGE CREATED CREATED BY SIZE COMMENT feb5d9fea6a5 10 months ago /bin/sh -c #(nop) CMD ["/hello"] 0B <missing> 10 months ago /bin/sh -c #(nop) COPY file:50563a97010fd7ce… 13.3kB

6、save

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

语法

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

OPTIONS 说明:

  • o :输出到的文件。

实例

将镜像 hello-world 生成 myhello-world.tar 文档

bash
[root@localhost ~]# docker save -o myhello-world.tar hello-world [root@localhost ~]# ls myhello-world.tar

7、load

docker load : 导入使用 docker save 命令导出的镜像。

语法

bash
docker load [OPTIONS]

OPTIONS 说明:

  • –input , -i : 指定导入的文件,代替 STDIN。
  • –quiet , -q : 精简输出信息。

实例

导入镜像:

bash
# 方式一: [root@localhost ~]# docker load < myhello-world.tar e07ee1baac5f: Loading layer [==================================================>] 14.85kB/14.85kB Loaded image: hello-world:latest # 方式二: [root@localhost ~]# docker load -i myhello-world.tar e07ee1baac5f: Loading layer [==================================================>] 14.85kB/14.85kB Loaded image: hello-world:latest # 方式三: [root@localhost ~]# docker load --input myhello-world.tar e07ee1baac5f: Loading layer [==================================================>] 14.85kB/14.85kB Loaded image: hello-world:latest

8、import

docker import : 把容器归档文件恢复为镜像。

语法

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

OPTIONS说明:

  • c :应用docker 指令创建镜像;
  • m :提交时的说明文字;

实例

从容器归档文件 mynginx.tar 创建镜像,命名为 mynginx/nginx:1.1

bash
[root@localhost ~]# docker import mynginx.tar mynginx/nginx:1.1 [root@localhost ~]# docker images mynginx/nginx REPOSITORY TAG IMAGE ID CREATED SIZE mynginx/nginx 1.1 bf6b3b49cad4 39 seconds ago 140MB

9、volume

docker volume :命令是用于管理 Docker 卷(Volumes)的命令

语法

bash
#创建卷 docker volume create [OPTIONS] [VOLUME] # 列出卷 docker volume ls [OPTIONS] #查看卷详细信息 docker volume inspect [VOLUME] #删除卷 docker volume rm <VOLUME_NAME> #检查 Docker 某个容器卷的详细信息 docker volume inspect <VOLUME_NAME> #按卷过滤- 查找当前的普卷的 Docker 容器 docker ps --filter "volume=VOLUME_NAME"

OPTIONS:

  • 创建卷
    • d, -driver:指定卷的驱动程序。
    • l, -label:添加一个或多个标签到卷。
  • 列出卷
    • -q: 仅显示卷的ID。
    • **-qf dangling=true** :此命令将列出所有悬空的 Volume
  • 删除卷
    • rm :<名字>
    • rm $(docker volume ls -qf dangling=true):清除所有悬空 Volume
  • 容器卷的详细
    • VOLUME_NAME:要检查的 Docker 卷的名称或 ID
    • $(docker volume ls -q) :检查多个卷的详细信息
  • 按卷过滤
    • "volume=VOLUME_NAME”
      • volume 是过滤条件的键,表示根据卷进行过滤。
      • VOLUME_NAME 是指定的卷的名称,表示只显示那些与指定卷关联的容器。

实例

bash
#创建卷 docker volume create --driver local --label mylabel my_volume #列出卷 docker volume ls -q docker volume ls -qf dangling=true #清除所有悬空 Volume docker volume rm $(docker volume ls -qf dangling=true) #查看卷详细信息 docker volume inspect my_volume #检查多个卷的详细信息 docker volume inspect $(docker volume ls -q) #按卷过滤- 查找当前的普卷的 Docker 容器 docker ps --filter "volume=my_volume"

三、镜像仓库命令

1、login/logout

docker login : 登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

docker logout : 登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

语法

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

OPTIONS说明:

  • u :登陆的用户名
  • p :登陆的密码

实例

登陆到Docker Hub

bash
docker login -u 用户名 -p 密码

登出Docker Hub

bash
docker logout

2、search

docker search :在官方仓库中搜索镜像。

语法

bash
docker search [option] 镜像名称

OPTIONS说明:

  • –automated :只列出 automated build类型的镜像;
  • –no-trunc :显示完整的镜像描述;
  • f <过滤条件>:列出收藏数不小于指定值的镜像。
  • –limt :限制输出前N个镜像,示例:docker search --limit 5 redis

实例

bash
[root@10-60-55-35 ~]# docker search hello-world NAME DESCRIPTION STARS OFFICIAL AUTOMATED hello-world Hello World! (an example of minimal Dockeriz… 2145 [OK] rancher/hello-world This container image is no longer maintained… 4 okteto/hello-world 0 tacc/hello-world 0 armswdev/c-hello-world Simple hello-world C program on Alpine Linux… 0 tutum/hello-world Image to test docker deployments. Has Apache… 90 [OK]

参数说明:

  • NAME:镜像名称
  • DESCRIPTION:镜像说明
  • STARS:点赞数量
  • OFFICIAL:是否为官方镜像
  • AUTOMATED:是否为自动构建

3、pull

docker pull : 拉取镜像到本地

语法

bash
docker pull 镜像名称[TAG]

注意:如不指定TAG,则下载最新版本(latest)。

实例

bash
[root@localhost ~]# docker pull ubuntu Using default tag: latest latest: Pulling from library/ubuntu 7b1a6ab2e44d: Pull complete Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322 Status: Downloaded newer image for ubuntu:latest docker.io/library/ubuntu:latest

4、push

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

语法

bash
docker push [OPTIONS] NAME[:TAG]

OPTIONS说明:

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

实例

上传本地镜像 myapache:v1到镜像仓库中。

bash
docker push myapache:v1

四、容器生命周期管理命令

https://image.myxuechao.com/docker/22.png

1、run

docker run :创建一个新的容器 并运行一个命令

语法

bash
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  • –name: 指定容器名称,如不指定,系统会随机分配名字。
  • d:后台运行容器并返回容器 ID,也即启动守护式容器(后台运行)。
  • i:以交互模式运行容器,通常与 -t 连用。
  • t:为容器分配一个伪输入终端,通常与 -i 连用。
  • P:随机端口映射,大写 P
  • p:指定端口映射,小写 p
  • –dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
  • –dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
  • m :设置容器使用内存最大值;
  • –volume , -v: 绑定一个卷
  • h “mars”: 指定容器的hostname;
  • a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
  • e username=“ritchie”: 设置环境变量;
  • –env-file=[]: 从指定文件读入环境变量;
  • –cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;
  • –net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
  • –link=[]: 添加链接到另一个容器;
  • –expose=[]: 开放一个端口或一组端口;

实例

1.运行交互式容器,进入 shell:

bash
# 进入已启动的容器 ubuntu 内部 docker run -it ubuntu /bin/bash

2.启动一个容器

使用 docker 镜像 nginx

以后台模式启动一个容器,命名为 test_nginx,将容器的 80 端口映射到主机的 8080 端口。

bash
docker run -d --name test_nginx -p 8080:80

退出容器

run运行容器有两种方式进行退出

方式一:exit 退出,退出后容器运行停止

方式二:ctrl+p+q 或者 control+p+q 退出,退出后容器不停止

2、start/stop/restart

docker start :启动一个或多个已经被停止的容器

docker stop :停止一个运行中的容器

docker restart :重启容器

语法

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

实例

启动已被停止的容器nginx

bash
docker start nginx

停止运行中的容器nginx

bash
docker stop nginx

重启容器nginx

bash
docker restart nginx

3、kill

docker kill :强制停止(杀掉一个运行中)的容器。

语法

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

OPTIONS说明:

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

实例

杀掉运行中的容器 mynginx

bash
[root@localhost ~]# docker kill -s KILL mynginx mynginx

4、rm

docker rm :删除一个或多个容器。

语法

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

OPTIONS说明:

  • f :通过 SIGKILL 信号强制删除一个运行中的容器。
  • l :移除容器间的网络连接,而非容器本身。
  • v :删除与容器关联的卷。

实例

强制删除容器 mynginx :

bash
docker rm -f mynginx

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

bash
docker rm -v mynginx

删除所有已经停止的容器(危险):

bash
docker rm $(docker ps -a -q)

5、exec

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

语法

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

OPTIONS说明:

  • d :分离模式: 在后台运行
  • i :即使没有附加也保持STDIN 打开
  • t :分配一个伪终端

实例

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

bash
docker exec -it mynginx /bin/bash

也可以通过 docker ps -a 命令查看已经在运行的容器,然后使用容器 ID 进入容器。

查看已经在运行的容器 ID:

bash
[root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES af47bfb2a522 nginx "/docker-entrypoint.…" 18 minutes ago Up 18 minutes 80/tcp mynginx

第一列的 af47bfb2a522 就是容器 ID。

通过 exec 命令对指定的容器执行 bash:

bash
docker exec -it af47bfb2a522 /bin/bash

6、create

docker create :创建一个新的容器但不启动它,用法和语法同 docker run

语法

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

实例

使用 docker 镜像 nginx:latest 创建一个容器,并将容器命名为 mynginx

bash
docker create --name mynginx nginx

7、pause/unpause

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

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

语法

bash
docker pause CONTAINER [CONTAINER...] docker unpause CONTAINER [CONTAINER...]

实例

暂停容器 mynginx 提供服务。

bash
docker pause mynginx

恢复容器 mynginx 提供服务。

bash
docker unpause mynginx

五、容器操作命令

1、ps

docker ps :列出所有在运行的容器信息。

语法

bash
docker ps [OPTIONS]

OPTIONS说明:

  • a :显示所有的容器,包括未运行的。
  • f :根据条件过滤显示的内容。
  • –format :指定返回值的模板文件。
  • l :显示最近创建的容器。
  • n :列出最近创建的n个容器。
  • –no-trunc :不截断输出。
  • q :静默模式,只显示容器编号。
  • s :显示总的文件大小。

实例

bash
[root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2aba77d1a205 ubuntu "bash" 4 seconds ago Up 2 seconds quirky_ptolemy

参数说明:

CONTAINER ID: 容器 ID。

IMAGE: 使用的镜像。

COMMAND: 启动容器时运行的命令。

CREATED: 容器的创建时间。

STATUS: 容器状态。

状态有7种:

  • created(已创建)
  • restarting(重启中)
  • running(运行中)
  • removing(迁移中)
  • paused(暂停)
  • exited(停止)
  • dead(死亡)

PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。

NAMES: 自动分配的容器名称。

2、top

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

语法

bash
docker top [OPTIONS] CONTAINER [ps OPTIONS]

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

实例

查看容器 mymysql 的进程信息。

bash
[root@localhost ~]# docker top 44dcc2bed26b UID PID PPID C STIME TTY TIME CMD root 8061 8042 0 02:08 pts/0 00:00:00 bash

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

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

3、logs

docker logs : 获取容器的日志

语法

bash
docker logs [OPTIONS] CONTAINER

OPTIONS说明:

  • f : 跟踪日志输出
  • –since :显示某个开始时间的所有日志
  • t : 显示时间戳
  • –tail :仅列出最新N条容器日志

实例

跟踪查看容器mynginx的日志输出。

bash
[root@localhost ~]# docker logs -f mynginx 192.168.239.1 - - [10/Jul/2016:16:53:33 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36" "-" 2016/07/10 16:53:33 [error] 5#5: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.239.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.239.130", referrer: "http://192.168.239.130/"

查看容器mynginx从2016年7月1日后的最新10条日志。

bash
docker logs --since="2016-07-01" --tail=10 mynginx

4、inspect

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

语法

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

OPTIONS说明:

  • f :指定返回值的模板文件。
  • s :显示总的文件大小。
  • –type :为指定类型返回JSON。

实例

获取容器 mynginx 信息。

bash
docker inspect mynginx

获取正在运行的容器 mynginx 的 IP。

bash
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mynginx

5、attach

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

语法

bash
docker attach [OPTIONS] CONTAINER

要 attach上去的容器必须正在运行,可以同时连接上同一个container来共享屏幕(与screen命令的attach类似)。

官方文档中说 attach 后可以通过CTRL-C 来 detach,但实际上经过我的测试,如果container当前在运行bash,CTRL-C自然是当前行的输入,没有退出;如果container当前正在前台运行进程,如输出nginx的access.log日志,CTRL-C不仅会导致退出容器,而且还stop了。这不是我们想要的,detach的意思按理应该是脱离容器终端,但容器依然运行。好在attach是可以带上–sig-proxy=false来确保CTRL-D或CTRL-C不会关闭容器。

实例

容器mynginx将访问日志指到标准输出,连接到容器查看访问信息。

bash
[root@localhost ~]# docker attach --sig-proxy=false mynginx 192.168.239.1 - - [10/Jul/2016:16:54:26 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36" "-"

6、events

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

语法

bash
docker events [OPTIONS]

OPTIONS说明:

  • f :根据条件过滤事件;
  • –since :从指定的时间戳后显示所有事件;
  • –until :流水时间显示到指定的时间为止;

实例

显示docker 2016年7月1日后的所有事件。

bash
runoob@runoob:~/mysql$ docker events --since="1467302400"

显示docker 镜像为mysql:5.6 2016年7月1日后的相关事件。

bash
runoob@runoob:~/mysql$ docker events -f "image"="mysql:5.6" --since="1467302400"

7、wait

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

语法

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

实例

bash
docker wait CONTAINER

8、export

docker export :将文件系统作为一个tar归档文件导出到STDOUT。

语法

bash
docker export [OPTIONS] CONTAINER

OPTIONS说明:

  • o :将输入内容写到文件。

实例

将id为 d86335a0a18a 的容器保存为tar文件。

bash
[root@localhost ~]# docker export -o mynginx.tar d86335a0a18a [root@localhost ~]# ls mynginx.tar

9、port

docker port :列出指定的容器的端口映射,或者查找将 PRIVATE_PORT NAT 到面向公众的端口。

语法

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

实例

查看容器mynginx的端口映射情况。

bash
[root@localhost ~]# docker port mymysql 3306/tcp -> 0.0.0.0:3306

六、容器 rootfs 命令

1、commit

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

语法

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

OPTIONS说明:

  • a :提交的镜像作者;
  • c :使用Dockerfile指令来创建镜像;
  • m :提交时的说明文字;
  • p :在commit时,将容器暂停。

实例

将容器 a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。

bash
[root@localhost ~]# docker commit -a "whbblog" -m "my apache" a404c6c174a2 mymysql:v1 sha256:37af1236adef1544e8886be23010b66577647a40bc02c0885a6600b33ee28057 [root@localhost ~]# docker images mymysql:v1 REPOSITORY TAG IMAGE ID CREATED SIZE mymysql v1 37af1236adef 15 seconds ago 329 MB

2、cp

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

语法

bash
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

OPTIONS说明:

  • L :保持源目标中的链接

实例

将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。

bash
docker cp /www/runoob 96f7f14e99ab:/www/

将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。

bash
docker cp /www/runoob 96f7f14e99ab:/www

将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。

bash
docker cp 96f7f14e99ab:/www /tmp/

3、diff

docker diff : 检查容器里文件结构的更改。

语法

bash
docker diff [OPTIONS] CONTAINER

实例

查看容器mymysql的文件结构更改。

bash
runoob@runoob:~$ docker diff mymysql A /logs A /mysql_data C /run C /run/mysqld A /run/mysqld/mysqld.pid A /run/mysqld/mysqld.sock C /tmp

4、system

docker system:查看镜像、容器、数据卷所占的空间

bash
[root@localhost ~]# docker system df TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 1 1 13.26kB 0B (0%) Containers 2 0 0B 0B Local Volumes 0 0 0B 0B Build Cache 0 0 0B 0B
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:LiuXueChao

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!