为Docker容器配置固定IP
2016-02-18 14:31
801 查看
当docker以桥接的方式启动容器时,容器内部的IP是经过DHCP获取的,例如:172.17.0.8/32,且每重启依次IP都会发生变动。某些特殊的情况下,需要容器内有自己固定的一个内部IP。我的实现方法如下:
1、启动docker容器
其中关键的选项是--privileged=true和--cap-add=NET_ADMIN。
2、进入容器,在/run.sh中添加如下,为容器添加额外的固定IP
3、重启容器,再次进入容器查看IP
4、宿主机上ping该地址
1、启动docker容器
# docker run -tid -p 4097:8080 --restart=always --privileged=true --log-driver=none --cap-add=NET_ADMIN 10.0.224.83:5000/centos /run.sh
其中关键的选项是--privileged=true和--cap-add=NET_ADMIN。
2、进入容器,在/run.sh中添加如下,为容器添加额外的固定IP
/sbin/ip addr add 172.17.1.250 dev eth0
3、重启容器,再次进入容器查看IP
[root@07be2449da38 /]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 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 154: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 02:42:ac:11:00:39 brd ff:ff:ff:ff:ff:ff inet 172.17.0.57/16 scope global eth0 valid_lft forever preferred_lft forever inet 172.17.1.250/32 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::42:acff:fe11:39/64 scope link valid_lft forever preferred_lft forever
4、宿主机上ping该地址
[root@localhost log]# ping 172.17.1.250 PING 172.17.1.250 (172.17.1.250) 56(84) bytes of data. 64 bytes from 172.17.1.250: icmp_seq=1 ttl=64 time=0.050 ms 64 bytes from 172.17.1.250: icmp_seq=2 ttl=64 time=0.069 ms
相关文章推荐
- Centos6.5:Docker下部署Ceph
- 使用 Docker 搭建 Tomcat 运行环境
- Docker Dockerfile详解
- Docker Swarm学习教程
- docker修改默认存储位置
- 使用 Docker 建立 Mysql 集群
- 在CentOS 6上搭建私有的Docker Registry
- docker+lvs配置
- docker+lvs+keepalived配置
- docker容器启动
- docker镜像操作
- docker安装
- 理解Docker技术
- 使用docker搭建nfs实现容器间共享文件
- 下载、运行docker
- docker attch退出
- docker --help
- 快速理解Docker - 容器级虚拟化解决方案
- docker: 定时检查docker container的运行状态并发邮件报警
- docker 容器中不支持中文的解决方法