我在部署docker的时候遇到的坑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我在部署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)1

2、删除全部容器:

docker rm $(docker ps -aq)1

3、一条命令实现停用并删除容器:

docker stop $(docker ps -q) & docker rm $(docker ps -aq)

目前先写这么多,以后遇到坑,以后再填!

本文出自 “熊仔的博客” 博客,请务必保留此出处http://9821177.blog.51cto.com/9811177/1751470

以上是关于我在部署docker的时候遇到的坑的主要内容,如果未能解决你的问题,请参考以下文章

docker搭建题目遇到的坑

聊聊docker容器安装nodejs环境遇到的坑

在JENKINS上部署selenium+python环境遇到的坑

packstack 部署遇到的坑

ansible自动部署ftp中遇到的坑

ansible自动部署ftp中遇到的坑