构建 docker 镜像
- 通过 Dockerfile 自动构建镜像;
- 通过容器操作,并执行 Commit 打包生成镜像。
通过 Dockerfile 可以快速构建镜像,而通过 commit 生成镜像可以解决应用在部署过程中有大量交互内容以及难以通过 Dockerfile 构建的问题。
通过 commit 构建镜像操作如下:
1,安装docker软件(yum install docker或apt-get install docker)
查看docker是否安装及状态2,下载docker centos镜像(docker pull)
3,创建并进入容器(docker run)
4,Nginx docker基础镜像制作
[root@db70b62cb071 /]# yum -y onstall epel-release
[root@db70b62cb071 /]# yum install Nginx net-tools -y
[root@db70b62cb071 /]# vi /etc/Nginx/Nginx.conf //修改Nginx配置文件
[root@db70b62cb071 /]# vi /etc/Nginx/conf.d/localhost.conf
[root@db70b62cb071 /]# mkdir /data/logs/Nginx -p //创建日志目录
5,将容器提交docker基础镜像(docker commit)
[root@VM_0_11_centos ~]# docker ps | grep db70b62cb071
db70b62cb071 centos:7.5.1804 "/bin/bash" 24 minutes a_keldysh
[root@VM_0_11_centos ~]# docker commit db70b62cb071 Nginx:v2
sha256:302f3cc905eb30fc6d38019f291349cf29089e81e6bb033aeac700b2235dc7e6
[root@VM_0_11_centos ~]# docker images | grep v2
Nginx v2 302f3cc905eb About a minute ago 386MB
6,打标签推送至镜像仓库
[root@VM_0_11_centos ~]# docker tag 302f3cc905eb ccr.ccs.tencentyun.com/ns-demo/Nginx:v2
[root@VM_0_11_centos ~]# docker images | grep v2
ccr.ccs.tencentyun.com/ns-demo/Nginx v2 302f3cc905eb 4 minutes ago 386MB
Nginx v2 302f3cc905eb 4 minutes ago 386MB
ccr.ccs.tencentyun.com/library/tiller v2.10.0 0cccc6576d01 21 months ago 69MB
[root@VM_0_11_centos ~]# docker push ccr.ccs.tencentyun.com/ns-demo/Nginx:v2
7,PHP docker基础镜像制作
首先通过centos基础镜像启动一个容器
在容器内进行PHP安装和配置
[root@88695031626e /]# yum -y install epel-release
[root@88695031626e /]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
[root@88695031626e /]# yum install PHP70w PHP70w-fpm PHP70w-cli PHP70w-common PHP70w-devel PHP70w-gd PHP70w-pdo PHP70w-MysqL PHP70w-mbstring PHP70w-bcmath PHP70w-xml PHP70w-pecl-redis PHP70w-process PHP70w-intl PHP70w-xmlrpc PHP70w-soap PHP70w-ldap PHP70w-opcache -y
修改配置
# vi /etc/PHP-fpm.conf
error_log = /data/logs/PHP/error.log //替换路径
daemonize = no //设置PHP-fpm已守护进行方式运行
# vi /etc/PHP-fpm.d/www.conf //日志路径可跟进自身需求设置
user = root //将user = apache修改成user = root
group = root //将group = apache修改成group = root
listen = /dev/shm/PHP-fpm.sock //将listen = 127.0.0.1:9000 修改成 listen = /dev/shm/PHP-fpm.sock
listen.owner = root //将listen.owner = user修改成listen.owner = root
listen.group = user //将listen.group = user修改成listen.group = root
slowlog = /data/logs/PHP/www-slow.log //设置slow日志路径为/data/logs/PHP
PHP_admin_value[error_log] = /data/logs/PHP/www-error.log //设置error日志路径为/data/logs/PHP
查看容器,将容器commit
原文地址:https://cloud.tencent.com/developer/article/1635639
总结以上是真正的电脑专家为你收集整理的构建 docker 镜像的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得真正的电脑专家网站内容还不错,欢迎将真正的电脑专家推荐给好友。