一、编写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

六、测试访问

Categories: docker&k8s

0 Comments

发表评论

Avatar placeholder

邮箱地址不会被公开。 必填项已用*标注