Dockerfile部署Nginx1.9.7镜像

全步骤:

[[email protected] ~]# yum install yum-utils device-mapper-persistent-data lvm2 -y
[[email protected] ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[[email protected] ~]# yum install -y docker-ce
[[email protected] ~]# systemctl stop firewalld.service
[[email protected] ~]# setenforce 0
[[email protected] ~]# systemctl start docker.service
[[email protected] ~]# systemctl enable docker.service
[[email protected] ~]# tee /etc/docker/daemon.json <<-‘EOF‘
{
  "registry-mirrors": ["https://w1ogxqvl.mirror.aliyuncs.com"]
}
EOF
[[email protected] ~]# systemctl daemon-reload
[[email protected] ~]# systemctl restart docker
[[email protected] ~]# docker pull centos:7
[[email protected] ~]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
centos                7                   5e35e350aded        6 weeks ago         203MB

[[email protected] ~]# cd /opt/
[[email protected] opt]# mkdir nginx
[[email protected] opt]# cd nginx/
[[email protected] nginx]# vim Dockerfile
#基于基础镜像
FROM 5e35e350aded
#用户信息
MAINTAINER The is nginx <zjx>
#添加环境包
RUN yum install -y proc-devel gcc gcc-c++ zlib zlib-devel make openssl-devel wget
#下载nginx软件包
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
#指定http和https端口
EXPOSE 80
EXPOSE 443
#关闭守护进程
RUN echo "daemon off;" >>/usr/local/nginx/conf/nginx.conf
WORKDIR /root/nginx
#添加宿主机中run.sh到容器中
ADD run.sh /run.sh
RUN chmod 755 /run.sh
CMD ["/run.sh"]

[[email protected] nginx]# vim run.sh
#!/bin/bash
/usr/local/nginx/sbin/nginx

#创建新镜像
[[email protected] nginx]# docker build -t nginx:new .

#启动容器进行测试
[[email protected] nginx]# docker run -d -P nginx:new
1e42f3a46caf349a964c4304b900ecb406102e3dc7e5beae16293f071470e54b
[[email protected] nginx]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                           NAMES
1e42f3a46caf        nginx:new           "/run.sh"           8 seconds ago       Up 7 seconds        0.0.0.0:32769->80/tcp, 0.0.0.0:32768->443/tcp   hardcore_cerf

验证:回到宿主机在浏览器中访问CentOS的IP地址的32769端口,看是否可以访问Nginx主页

原文地址:https://blog.51cto.com/14464303/2461713

时间: 2024-10-03 15:15:34

Dockerfile部署Nginx1.9.7镜像的相关文章

Dockerfile部署Tomcat-9.0.16镜像

全步骤: [[email protected] ~]# yum install yum-utils device-mapper-persistent-data lvm2 -y [[email protected] ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo [[email protected] ~]# yum install -y docker

使用Dockerfile定制自己的docker镜像

我们都知道,在Linux系统下可以通过shell脚本来自动安装部署应用,这样不但免去了手动操作的麻烦,而且还可以通过一些自动化工具来实现批量安装部署.那么docker是否也可以通过脚本的方式定制镜像呢?当然可以,那就是Dockerfile,我们可以把创建应用镜像的操作都写入一个Dockerfile文件里,然后通过docker build命令来构建自已的镜像,这个过程类似shell脚本的功能.docker环境的安装部署可以参考我的另一篇博文<Centos 7部署docker环境.基本命令使用及简单

Dockerfile常用指令详解&镜像缓存特性

Dockerfile简介 Dockerfile 是Docker中用于定义镜像自动化构建流程的配置文件.在Dockerfile中,包含了构建镜像过程中需要执行的命令和其他操作.通过Dockerfile可以更加清晰,明确的给定Docker镜像的制作过程,由于仅是简单,小体积的文件,在网络等介质中传递的速度快,能够更快的实现容器迁移和集群部署.Dockerfile是一个文本文件,其内包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建. 相对于提交容器修改在进行镜像迁

使用Dockerfile创建nginx服务容器镜像

1.下载nginx配置文件 wget http://www.apelearn.com/study_v2/.nginx_conf 2. vim Dockerfile #本地有centos的镜像,可以直接指定镜像名称:如果需要从docker官网下载其他版本镜像,请自行修改版本号 FROM centos:6.8 MAINTAINER wyman [email protected] #根据实际需要选择安装 RUN yum install -y pcre-devel wget net-tools gcc

阿里云部署Docker(9)----Dockerfile脚本定制你的镜像

本文为原创文章,转载需注明转自:http://blog.csdn.net/minimicall?viewmode=contents 技术爱好者都是比较懒的.而docker又是开发者支持起来的.所以,它肯定是有比较懒的方式供我们定制自己需要的东西. docker build docker 用build指令来执行dockerfile脚本. 具体的用法: sudo docker build . 小心后面那个点,表示当前目录.当前目录有一个Dockerfile的文件. 当然,你可以指定你建立的镜像的名字

.Net Core+cenos7+Docker+Dockerfile 部署实践

因为这段时间比较忙,同时也在抽时间将开发框架转移到 .net Core 上 所以写博客的时间就少了,这次我利用dockerfile成功将.net Core程序部署到了cenos7容器中,特抽时间把我的操作过程总结出来和大家分享. 首先要准备一个LINUX系统,可以是ubuntu,也可以是centos,我用的是虚拟机上装ubuntu14.04 然后安装docker,这个安装过程我就不说了,大家自己在网上搜索一下吧,大把,操作也简单. 我用的版本是 然后我建议先pull一个centos 7的镜像到本

dockerfile部署nginx

脚本内容Dockerfile:FROM cf2c3ece5e41MAINTAINER from zichenWORKDIR /usr/local/srcRUN yum install -y wgetRUN wget http://nginx.org/download/nginx-1.8.1.tar.gzRUN tar -zxvf nginx-1.8.1.tar.gzWORKDIR nginx-1.8.1RUN yum -y install gcc-c++ make pcre-devel zlib

Dockerfile 部署Java tomcat

1. Dockerfile文件 FROM centos:7 MAINTAINER [email protected] ADD jdk-8u181-linux-x64.tar.gz /usr/local ENV JAVA_HOME /usr/local/jdk1.8.0_181 ADD http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.50/bin/apache-tomcat-8.5.50.tar.gz /usr/local RUN tar

docker中使用Dockerfile部署springboot项目

1.准备springboot项目jar包和Dockerfile文件 FROM java:8 VOLUME /tmp ADD eladmin.jar eladmin.jar EXPOSE 8080 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/eladmin.jar"] FROM:表示基础镜像,即运行环境VOLUME /tmp创建/tm