docker 随笔记录

1、docker 固定网络ip地址,启动 Docker的时候,用 --network 参数,可以指定网络类型
eg:docker run -itd --name test1 --network bridge --ip 172.17.0.10 centos:latest /bin/bash
(1)bridge:桥接网络
默认情况下启动的Docker容器,都是使用 bridge,Docker安装时创建的桥接网络,每次Docker容器重启时,会按照顺序获取对应的IP地址,这个就导致重启下,Docker的IP地址就变了
(2)none:无指定网络
使用 --network=none ,docker 容器就不会分配局域网的IP
(3)host: 主机网络
使用 --network=host,此时,Docker 容器的网络会附属在主机上,两者是互通的。
例如,在容器中运行一个Web服务,监听8080端口,则主机的8080端口就会自动映射到容器中。
(4)创建自定义网络:(设置固定IP)
启动Docker容器的时候,使用默认的网络是不支持指派固定IP的,如下
docker run -itd --net bridge --ip 172.17.0.10 centos:latest /bin/bash
6eb1f228cf308d1c60db30093c126acbfd0cb21d76cb448c678bab0f1a7c0df6
docker: Error response from daemon: User specified IP address is supported on user defined networks only.
1>  创建自定义网络
docker network create --subnet=172.18.0.0/16 mynetwork
2>  创建容器
docker run -itd --name networkTest1 --net mynetwork --ip 172.18.0.2 centos:latest /bin/bash

2、运行容器时使用–restart参数可以指定一个restart策略,来指示在退出时容器应该如何重启或不应该重启。
当容器启用restart策略时,将会在docker ps显示Up或者Restarting状态。也可以使用docker events命令来生效中的restart策略。
docker支持如下restart策略:
no – 容器退出时不要自动重启。这个是默认值。
on-failure[:max-retries] – 只在容器以非0状态码退出时重启。可选的,可以退出docker daemon尝试重启容器的次数。
always – 不管退出状态码是什么始终重启容器。当指定always时,docker daemon将无限次数地重启容器。容器也会在daemon启动时尝试重启,不管容器当时的状态如何。
unless-stopped – 不管退出状态码是什么始终重启容器,不过当daemon启动时,如果容器之前已经为停止状态,不要尝试启动它。

在每次重启容器之前,不断地增加重启延迟[上一次重启的双倍延迟,从100毫秒开始]来防止影响服务器。这意味着daemon将等待100ms,然后200 ms, 400, 800, 1600等等,直到超过on-failure限制,或执行docker stop或docker rm -f。
如果容器重启成功[容器启动后并运行至少10秒],然后delay重置为默认的100ms。
你可以使用on-failure策略指定docker尝试重启容器的最大次数。默认下docker将无限次数重启容器。可以通过docker inspect来查看已经尝试重启容器了多少次

当容器已经创建但是没有指定restart该怎么办?

使用 docker uodate --restart=always 容器ID
ENV PEFRESHET_AT  time 这个环境变量用来表明这个镜像最后更新时间。

猜你喜欢

转载自www.cnblogs.com/yjt1993/p/11165094.html
今日推荐