1. (简答题)编写Dockerfile制作镜像,生成镜像名为my_build:Nginx1。首先创建目录dockerfile-nginx1,保存Dockerfile文件。具体要求如下:
(1)基于镜像centos:7
(2)安装Nginx
a.安装相关依赖
b.下载并解压Nginx
(3)工作目录设为:nginx-1.9.7
(4)编译安装Nginx
(5)对外暴露80,443端口
(6)修改Nginx配置文件,以非daemon方式启动
(7)复制服务启动脚本并设置权限
(8)启动容器时执行脚本run.sh
run.sh内容如下所示:
# 创建dockerfile_nginx1目录: mkdir dockerfile_nginx1 # 进入dockerfile_nginx1目录: cd dockerfile_nginx1 # 编辑并创建Dockerfile文件: vim Dockerfile # Dockerfile文件内容: FROM centos:7 RUN yum install -y proc-devel gcc gcc-c++ zlib zlid-devel make openssl-devel wget RUN wget http://nginx.org/download/nginx-1.9.7.tar.gz RUN tar -zxvf nginx-1.9.7.tar.gz WORKDIR nginx-1.9.7 RUN ./configure --prefix=/usr/local/nginx && make && make install EXPOSE 80 EXPOSE 443 RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf COPY run.sh / RUN chmod 777 /run.sh CMD ["sh","-c","/run.sh"] # 查看文件: cat Dockerfile # 创建并编辑文件: vim run.sh # Run.sh文件内容: #!/bin/bash /usr/local/nginx/sbin/nginx # 查看文件: cat run.sh # 将Dockerfile文件转成镜像: docker build -t my_build:nginx
图示:
# 创建并以后台的方式启动容器并随机分配端口 docker run -d -P --name my_nginx my_build:nginx # 查看启动的容器: docker ps
图示:
在浏览器里输入本地IP加端口号 例如本人ip加端口:192.168.163.12:49154
图示:



