1.准备环境
mkdir nginx_ubuntu && cd nginx_ubuntu
2. dockerfile
#继承创建信息
FROM sshd:dockerfile
#创建者信息
MAINTAINER chao
#安装nginx,设置nginx以非daemon启动
RUN apt-get install -y nginx && rm -rf /var/lib/apt/lists/* && echo "\ndaemon off;" >>/etc/nginx/nginx.conf && chown -R www-data:www-data /var/lib/nginx
#设置时区
COPY ./Shanghai /etc/localtime
#添加脚本 设置权限
ADD run.sh /run.sh
RUN chmod 755 /run.sh
#定义挂载目录,分别是虚拟主机的挂载目录,证书目录,配置目录和日志目录
VOLUME ["/etc/nginx/sites-enabled","/etc/nginx/certs","/etc/nginx/conf.d","/var/log/nginx"]
#定义工作目录
WORKDIR /etc/nginx
#定义输出命令
CMD ["/run.sh"]
#定义输出端口
EXPOSE 80
EXPOSE 443
3. run.sh脚本内容
#!/bin/bash
/usr/sbin/sshd &
/usr/sbin/nginx
4.创建镜像
docker build -t nginx:ubuntu .
5. 测试
5.1 启动docker镜像
docker run -d -P nginx:ubuntu
5.2 查看
[root@kubernetes /data/docker/nginx]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
380ed7e28ec4 nginx:web "/run.sh" About a minute ago Up About a minute 0.0.0.0:32786->22/tcp, 0.0.0.0:32785->80/tcp, 0.0.0.0:32784->443/tcp agitated_heisenberg
5.3 本地查看
curl 127.0.0.1:32785