一、编写dockerfile指令
[root@docker02 cloud]# cat dockerfile
FROM centos6.9_nginx_v1
RUN yum install php-fpm php-gd php-mbstring unzip -y && yum clean all
ADD www.conf /etc/php-fpm.d/www.conf
ADD default.conf /etc/nginx/conf.d/default.conf
RUN mkdir /code
WORKDIR /code
ADD kodexplorer4.40.zip .
RUN unzip kodexplorer4.40.zip &>/dev/null && chown -R nginx:nginx .
ADD init.sh /init.sh
EXPOSE 80
VOLUME /code
CMD ["/bin/bash","/init.sh"]
二、准备dockerfile需要的文件
[root@docker02 cloud]# ls
default.conf dockerfile init.sh kodexplorer4.40.zip www.conf
a. nginx配置文件
[root@docker02 cloud]# cat default.conf
server {
listen 80;
server_name localhost;
root /code;
location / {
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
b. php配置文件
[root@docker02 cloud]# grep "nginx" www.conf
user = nginx
group = nginx
c. 启动脚本
[root@docker02 cloud]# cat init.sh
#!/bin/bash
service php-fpm start
nginx -g 'daemon off;'
d. 可道云网站代码文件
[root@docker02 cloud]# ll kodexplorer4.40.zip -h
-rw------- 1 root root 14M Dec 30 09:03 kodexplorer4.40.zip
三、自动构建一个名为kod:v4的镜像
[root@docker02 cloud]# docker build -t kod:v4 .
四、启动容器
[root@docker02 cloud]# docker run -d -P kod:v4
29d6ea0129d792d0cf6bfcd63dd8bed6ca8e8d71fa53fcb8fc39533ca820d7a7
五、查看映射端口
[root@docker02 cloud]# docker ps -a -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
29d6ea0129d7 kod:v4 "/bin/bash /init.sh" About a minute ago Up 56 seconds 0.0.0.0:32768->80/tcp beautiful_goldstine
六、测试访问
0 Comments