前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TKE操作指南 - 制作Nginx和Php Docker基础镜像(三)

TKE操作指南 - 制作Nginx和Php Docker基础镜像(三)

原创
作者头像
亮哥说TKE
修改2019-08-15 11:14:11
1.3K0
修改2019-08-15 11:14:11
举报
文章被收录于专栏:TKE

容器云平台Docker镜像

1.Docker基础镜像:提供基础应用型的Docker软件服务(例如:nginx,php,jdk等),所以dockerhub镜像公有镜像自定义私有镜像都可以理解为基础镜像。

2.Docker业务镜像:将Gitlab上的源代码,或通过maven打出来的jar或tar包,添加至基础镜像中,通过构建打包成的Docker业务镜像。(Dockerfile业务镜像是通过构建生成,我会在后面的章节讲解)

我在对wordpress进行容器化时先要制作Docker基础镜像

腾讯云Docker基础镜像制作有两种方式:

commit和dockerfile方式

这里我讲解commit方式且提交至远程仓库步骤如下:

1.安装docker软件(yum install docker或apt-get install docker)

2.下载docker centos镜像(docker pull)

3.创建并进入容器(docker run)

4.nginx docker基础镜像制作

5.将容器提交docker基础镜像(docker commit)

6.php docker基础镜像制作

1.安装docker软件

安装说明:建议系统是centos且版本号必须不小于7.0。

# cat /etc/redhat-release //查看系统版本号,我的是centos 7.5.1804

CentOS Linux release 7.5.1804 (Core)

# yum install docker -y //安装docker软件

# systemctl start dockerd //启动docker服务

# systemctl status dockerd //查看docker状态,返回active (running)说明成功。

systemctl status dockerd
systemctl status dockerd

2.下载docker镜像

下载说明:通过docker pull命令去公网仓库下载docker镜像。

# docker pull centos:7.5.1804 //下载centos:7.5.1804 docker镜像

# docker images //查看docker 镜像

REPOSITORY TAG IMAGE ID CREATED SIZE

centos 7.5.1804 cf49811e3cdb 4 months ago 200MB

REPOSITORY是仓库名,TAG 是标签,IMAGE ID是镜像ID,CREATED是镜像创建到至今的时间,SIZE是镜像大小

下载docker镜像
下载docker镜像

3.创建并进入容器

容器创建说明:通过 docker run -it centos:7.5.1804 /bin/bash 命令创建容器,-i: 以交互模式运行容器,通常与 -t 同时使用;-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;centos:7.5.1804 使用的本地镜像名称;/bin/bash 容器创建后运行的命令。

# docker run -it centos:7.5.1804 /bin/bash //创建并进入容器,可以看到容器ID为52afa115ec6d

[root@52afa115ec6d /]#

4.nginx docker基础镜像制作

[root@52afa115ec6d /]# yum install epel-release -y //在容器里面安装epel源和nginx

[root@52afa115ec6d /]# yum install nginx net-tools -y

[root@52afa115ec6d /]# vi /etc/nginx/nginx.conf //修改nginx配置文件,日志路径可跟进自身需求设置

1.将user nginx;修改成user root; (容器中nginx 要以root用户运行)

2.添加daemon off; (nginx和php等应用型软件安装在容器里面,必须要已守护进程的方式运行)

3.设置worker_processes参数为auto

4.设置access_log对应的路径为/data/logs/nginx/access.log

配置文件如下

[root@52afa115ec6d /]# vi /etc/nginx/conf.d/localhost.conf //日志路径可跟进自身需求设置

添加localhost.conf配置文件

1.设置为nginx 80端口启动

2.server_name为wordpress.tencent.com localhost; (wordpress.tencent.com是wordpress的访问域名,根据业务需求设置)

3.error_log对应路径为/data/logs/nginx/wordpress.tencent.com_error.log

4.wordpress网站根目录是/data/www/wordpress(这个目录暂时不创建,之后会讲解制作Docker业务镜像将源码添加至/data/www/wordpress目录)

5.设置fastcgi_pass unix:/dev/shm/php-fpm.sock; (以nginx和php-fpm 使用uninx socket通信)

[root@52afa115ec6d /]# mkdir /data/logs/nginx -p //创建nginx日志目录

5.将容器提交成docker基础镜像

# docker ps -a | grep 52afa115ec6d //在宿主机新开终端,查看运行的容器ID。

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

52afa115ec6d centos:7.5.1804 "/bin/bash" 9 minutes ago Up 9 minutes reverent_shaw

CONTAINER ID是容器ID,IMAGE是使用的镜像,COMMAND是容器启动运行的命令,CREATED是容器创建到运行至今时间,STATUS是容器当前的状态,PORTS是容器运行的端口,NAMES是容器的名称。

# docker commit 52afa115ec6d test:v1 //通过docker commit命令将容器提交成本地镜像。test是名称,v1是标签

sha256:10e6b0f81fb79b20e603ea12f67f835cc5bff11b629cc706b4c9ce0b48594fd3

# docker images | grep test //查看本地test:v1镜像

通过容器提交镜像
通过容器提交镜像

6.php docker基础镜像制作

1.首先利用docker run启动一个centos容器 (参考步骤3)

2.在容器中进行php的安装和配置

# yum install epel-release -y

# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

# 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 //安装php-fpm及扩展

# 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

# mkdir /data/logs/php -p //创建php日志目录

3.最后通过commit命令提交成本地镜像,请参考上面第5步(将容器提交成docker基础镜像)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 容器云平台Docker镜像
  • 腾讯云Docker基础镜像制作有两种方式:
  • 1.安装docker软件
  • 2.下载docker镜像
  • 3.创建并进入容器
  • 4.nginx docker基础镜像制作
  • 5.将容器提交成docker基础镜像
  • 6.php docker基础镜像制作
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档