针对docker使用入门的一些知识点和应考虑的问题。
容器与数据分离
容器的生命周期是随程序新版发布,迁移而发生变化的,随时可能被删除重建,所以不要将数据放到容器里面,使用容器的-v参数挂载到外部数据目录。
配置的分离
Doker接受从创建容器时的命令参数中获取环境变量配置;
docker run -e DB_HOST=mysql ...
显然不能在构建Image时将配置文件加入,这样Image将无法移植。
可通过集中的配置服务器下发配置给容器,当容器运行时,由应用程序主动从配置服务器读取,配置服务器的地址从-e参数传入,一般用etcd等实现。
Docker文件放哪里
容器的文件存放默认会默认在/var/lib/docker
,请在安装时确认是否有足够的空间,如果没有请将目录指定到其它地方,如:/home/docker
等。可通过修改docker服务的配置文件。
Cent OS是修改文件/etc/sysconfig/docker
,在OPTIONS
中加入--graph=/home/docker
OPTIONS='--graph=/home/docker --selinux-enabled --log-driver=journald' ...
Ubuntu是修改文件/etc/default/docker
,在DOCKER_OPTS
中加入--graph=/home/docker
DOCKER_OPTS='--graph=/home/docker' ...