docker 制作docker镜像

#宿主机:启动一个纯净centos:7的容器,安装nginx 并且进入容器
docker run -it -p 80:80 centos:7 /bin/bash

#容器:配置base源 epel源 hosts本地解析 
echo "192.168.13.251  mirrors.aliyun.com" >>/etc/hosts
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

#在容器里安装nginx
yum install nginx -y

#容器:编辑首页文件
rm -rf index.html
echo 'wyd' > /usr/share/nginx/html/index.html

#宿主机:制作镜像
docker container commit 6e1ab2a7291e centos7_nginx:v1

#宿主机:启动容器
docker run -d -it -p 80:80 centos7_nginx:v1 nginx -g 'daemon off;'
制作一个基于centos7系统的kod网盘的镜像
#宿主机:启动一个纯净centos:7的容器,安装nginx 并且进入容器
docker run -it -p 80:80 centos:7 /bin/bash

#容器:配置base源 epel源 hosts本地解析 
echo "192.168.13.251  mirrors.aliyun.com" >>/etc/hosts
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

#容器:下载nginx+php服务 修改php,nginx配置文件 启动服务
yum -y install nginx php-fpm php-gd php-mbstring
vi /etc/php-fpm.d/www.conf 
user = nginx
group = nginx

/usr/sbin/php-fpm --daemonize #启动php服务

vi /etc/nginx/nginx.conf
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   /html;
            index  index.php index.html index.htm;
        }
    location ~ \.php$ {
    root           /html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /html$fastcgi_script_name;
    include        fastcgi_params;
       }
    }
}

#上传代码 改权限
mkdir /html
cd /html
curl -o kod.tar.gz http://192.168.13.251/file/kod.tar.gz
tar xf kod.tar.gz 
chown -R nginx.nginx .

nginx #启动服务

vi /init.sh
#!/bin/bash

nginx
php-fpm

#生成镜像
docker commit suspicious_hopper centos7_nginx:v2

#启动镜像
docker run -d -it -p 80:81 centos7_nginx:v2 sh /init.sh 

#验证
[root@docker01 ~]# docker ps -a 
CONTAINER ID   IMAGE              COMMAND         CREATED          STATUS          PORTS                                       NAMES
1965d9f592e2   centos7_nginx:v2   "sh /init.sh"   23 minutes ago   Up 23 minutes   80/tcp, 0.0.0.0:80->81/tcp, :::80->81/tcp   keen_wiles
#访问网站出现kod的网页
10.0.0.11:80
自动制作docker镜像
#宿主机:创建目录
mkdir dockerfile/dockerfile_nginx -p
#宿主机:编写文本
vi dockerfile/dockerfile_nginx/dockerfile
FROM centos:7
RUN echo "192.168.13.251  mirrors.aliyun.com" >>/etc/hosts
RUN curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
RUN curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
RUN yum install nginx -y
RUN rm -fr /usr/share/nginx/html/index.html
RUN echo 'wyd' >/usr/share/nginx/html/index.html

CMD ["nginx","-g","daemon off;"]
#宿主机:构建docker镜像
cd dockerfile/dockerfile_nginx/
docker build -t centos7_nginx:v3  --network=host .
#宿主机:测试镜像功能
docker run -d -it -p 90:90 centos7_nginx:v3
#验证
[root@docker01 ~]# docker ps -a 
CONTAINER ID   IMAGE              COMMAND                  CREATED          STATUS          PORTS                                       NAMES
06c3bdde7389   centos7_nginx:v3   "nginx -g 'daemon of…"   58 minutes ago   Up 58 minutes   80/tcp, 0.0.0.0:90->90/tcp, :::90->90/tcp   recursing_panini