1. 重启docker服务,容器全部退出解决办法
1.1 方法1,运行容器时添加参数(推荐使用)
--restart=always
docker run --restart=always
# 例子
[root@docker01 ~]# docker run -d --restart=always nginx-1.16.1:ubuntu
be32abfee0ff311aafc4fe8366b720b7aee0cb36a2f71c65f38d25fcb49e73d2
[root@docker01 ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
be32abfee0ff nginx-1.16.1:ubuntu "/bin/bash /nginx.sh" 4 seconds ago Up 3 seconds dreamy_carson
[root@docker01 ~]# systemctl restart docker
[root@docker01 ~]# docker ps -l # 这里注意CREATED和STATUS的时间,使用--restart=always重启后,CREATED时间不会清零
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
be32abfee0ff nginx-1.16.1:ubuntu "/bin/bash /nginx.sh" 37 seconds ago Up 5 seconds dreamy_carso
1.2 方法2,在配置文件添加参数
[root@docker01 ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["10.0.0.11:5000"],
"live-restore": true # 加在这里
[root@docker01 ~]# systemctl restart docker
# 例子
[root@docker01 ~]# docker run -d nginx-1.16.1:alpine
82b8143418db23ee034624bb7cea7da1b0811b71b1a94e499f6fcb913adf1e17
[root@docker01 ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
82b8143418db nginx-1.16.1:alpine "nginx -g 'daemon of…" 3 seconds ago Up 3 seconds relaxed_lovelace
[root@docker01 ~]# systemctl restart docker
[root@docker01 ~]# docker ps -l # 这里容器docker后,CREATED和STATUS时间是不会改变的
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
82b8143418db nginx-1.16.1:alpine "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes relaxed_lovelace
2. Docker网络类型
2.1 四种网络类型
(1)None:不为容器配置任何网络功能,--net=none
(2)Container:与另一个运行中的容器共享Network Namespace,--net=container:containerID(K8S)
(3)Host:与宿主机共享Network Namespace,--network=host 性能最高,不用使用-p端口映射,直接使用宿主机端口
(4)Bridge:Docker设计的NAT网络模型(默认类型),container:容器id
2.2 查看docker网络类型
[root@docker01 ~]# docker inspect 82b8143418db|grep -wi -A 1 networks
"Networks": {
"bridge": { # 这就是容器默认使用的网络类型
3. 容器互联
# 默认情况下,容器启动后,容器内部可以与其他容器进行通讯,但是必须要知道对方的IP地址,而容器每次启动时,分配的IP地址都不一样。那么启动容器时可以添加--link参数,而且可以--link多个不同的容器,但是--link是单方向的。
[root@docker01 ~]# docker run -d -p 80:80 nginx-1.16.1:ubuntu
591749f9d440b9c8703e414b9a17dae2572b73ad56d8eddfd56b635cef6b49d1
[root@docker01 ~]# docker run -d -p 81:80 nginx-1.16.1:ubuntu
0adf57bb18343986c972b6ab23abacd23f07b1c4897a6fc4c51b7fb0599e425f
[root@docker01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0adf57bb1834 nginx-1.16.1:ubuntu