详细讲解下面每个命令的使用:

1、创建并查看容器
[root@cucn_docker111 ~]# docker container create nginx:1.14
03fefe568b0b4872756b67ba9cf02477dd2f2564fb9ff1d3e071e8be65091beb
[root@cucn_docker111 ~]# docker container ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
03fefe568b0b nginx:1.14 "nginx -g 'daemon of…" 5 seconds ago Created compassionate_hopper
##状态是created,只是已经创建,并没有运行
[root@cucn_docker111 ~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@cucn_docker111 ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
03fefe568b0b nginx:1.14 "nginx -g 'daemon of…" About a minute ago Created compassionate_hopper
[root@cucn_docker111 ~]#
2 需要使用start命令启动容器

3 显示最近创建的容器

4 显示全部的容器ID信息,命令信息等

5 查看容器的虚拟网卡:
每启动一个容器就会生成一块虚拟网卡
上面的docker0的地址是容器的网关
[root@cucn_docker111 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:a4:0e:c6 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.111/24 brd 10.0.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::e16:4ae8:31a:f506/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:a4:0e:d0 brd ff:ff:ff:ff:ff:ff
inet 172.16.1.111/24 brd 172.16.1.255 scope global noprefixroute eth1
valid_lft forever preferred_lft forever
inet6 fe80::957d:e084:32a4:d7ac/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: br-da3f85b77895: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:9f:b5:01:ea brd ff:ff:ff:ff:ff:ff
inet 172.30.1.254/24 brd 172.30.1.255 scope global br-da3f85b77895
valid_lft forever preferred_lft forever
5: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:01:e5:dd:22 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:1ff:fee5:dd22/64 scope link
valid_lft forever preferred_lft forever
9: veth3ca4845@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default
link/ether be:62:d0:6e:88:d0 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet6 fe80::bc62:d0ff:fe6e:88d0/64 scope link
valid_lft forever preferred_lft forever
[root@cucn_docker111 ~]#
6 查看容器运行的进程

7 取ip地址并访问容器
查看容器的详细信息,从中取IP地址



docker container inspect --format '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}' `docker container ps -lq`
8 查看容器的日志: docker contaier logs


-f 跟踪日志的输出
-n 3 只显示3行
--until 查看某个时间段之前的日志信息,“截止时间之前的日志”,根据时间过滤
9 restart 重启容器

10 rename 重命名容器

11 port-查看端口的映射关系

12 pause暂停正在运行的容器

13 unpause-解除暂停

14 rm 删除容器

15 stats显示容器运行的状态

16 update 设置cpu,内存的资源信息


设置可用内存最大为20M
[root@cucn_docker111 ~]# docker container update -m 20480000 --memory-swap 20480000 wizardly_bartik

17 wait 查看对容器进行各种操作后的代码


0 表示退出了容器。137是异常退出,被kill了
18 kill 终止一个容器

19 run 运行容器
不加参数默认放在前台运行,如果ctrl+c就会退出容器,但容器并没有被删除


-d: 设置容器在后台运行
-p:指定主机的端口映射到容器的端口
-i,一启动就被阻塞掉,容器就被退出问题,使用-i(分配一个交互式的工具)

-t 分配一个终端

20 attach 连接容器
使用-it运行后分配了一个临时终端,也可以使用 attach连接这个容器
attach连接后使用的是和临时终端相同的终端,退出的时候要先按ctrl+p,再ctrl+q。
在用attach连接后,退出该连接,容器也会退出


21 exec 登录容器
使用exec的方式登录docker可以用exit退出,不会影响容器的临时会话,容器还是启动状态。

-w 进到容器并制定相应的工作目录

-e在运行的时候传递环境变量

22 cp 拷贝docker里的文件到主机
也可以将主机里的文件、目录拷贝到容器中


拷贝主机文件到容器的根目录下:
![]()

也可以拷贝文件夹,包括文件夹里的软链接文件
23diff 查看容器发生了哪些变化

A是添加了信息
C是创建了/root目录
24export 将容器打包到本机,打包为一个tar包

25 commit 将docker运行的容器制作为镜像

6万+

被折叠的 条评论
为什么被折叠?



