我在部署docker的时候遇到的坑
以下总结一些我个人在搭建测试环境之中使用docker的坑1.docker端口的坑
docker 容器在创建的时候,可以通过-p 指令来映射端口,使外部的网络能通过该端口访问容器的服务。
但是如果容器的端口已经设定,且容器已经运行起来的时候,是无法映射或者更改新的端口的。
所以这个坑要有所注意,不然又得从新commit镜像重新run,浪费时间。
2.docker容器IP地址的坑
docker的镜像一般都是原版centos等慢慢扩展的。网络这块是dhcp模式的,所以每次在重启容器的时候,docker容器的ip地址都是变化的,可能会影响到整个docker容器集群的运行,所以我们要配置docker容器的静态ip,虽然我并不知道如何重启容器的network服务,但是可以保证IP地址的固定
3.docker --link的坑
容器之间要相互通信,可以使用--link选项,那么我们一定要记住或者管理好 --link的创建顺序,因为如果设置了--link的话,该容器在启动之前会自动的去寻找需要通信的容器,如果通信的容器没有启动,该容器是无法启动的,所以我们要按照一定的顺序,有依赖性的启动容器。千万不要把有依赖的容器给删了,不然就是大坑。
4.docker registry私有库和共有库之间转换的坑
我在搭建私有库后,客户端能pull服务端的image,但是该客户端不能pulldockerHUB上的镜像了,这点让我非常囧。经过后续的研究发现,客户端链接服务端需要一个login的操作,那么当客户端想pull dockerHUB的资源时,需要断开私有库的链接。所以需要一个loginout的操作,另外,etc/sysconfgi/docker 中注释掉私有库的配置操作,然后重启docker服务即可。当需要链接私有库的时候,再补充上述操作即可。
5下面补充几个常用的docker 容器操作
1、停用全部运行中的容器:docker stop $(docker ps -q)12、删除全部容器:docker rm $(docker ps -aq)13、一条命令实现停用并删除容器:docker stop $(docker ps -q) & docker rm $(docker ps -aq)3.16补充
6.容器时间的坑
创建容器之后,发现date命令无法更改时间了,真特么日了狗,百度了一下,可以这样修改时间
进入容器:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime目前先写这么多,以后遇到坑,以后再填!
这个问题我也注意到了,尤其是端口和IP这两个坑,实在是让人很不满意
页:
[1]