dockerfile命令其实有好多和linux系统本身命令的功能相似,还是相对比较好理解,为方便理解,博主做了一个关于将nginx服务打包成镜像并使用的一个例子。
首先我们需要把我们的要用到的nginx安装包和dockerfile放在同一目录下
创建Dockerfile文件,其实就是把nginx的安装过程写成了脚本,只不过要符合dockerfile的规范。 FROM centos:6.7 ---基础镜像centos6.7 MAINTAINER test ----dockerfile作者,test ADD nginx-1.6.2.tar.gz /usr/local/src ----解压nginx安装包到container的/usr/local/src中 RUN yum -y install wget gcc gcc-c++ make openssl-devel pcre-devel ---在容器内要执行的命令,安装包依赖 RUN useradd -s /sbin/nologin nginx --------在容器内要执行的命令,新增nginx用户 WORKDIR /usr/local/src/nginx-1.6.2 ------------container内跳转目录到/usr/local/src/nginx-1.6.2 RUN ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module && make && make install ------ 在容器内要执行的命令,源码安装nginx RUN echo "daemon off;">>/usr/local/nginx/conf/nginx.conf ------在容器内要执行的命令,设置nginx前台运行 ENV PATH /usr/local/nginx/sbin:$PATH ---- ---设置环境变量 EXPOSE 80 --------------------------------------------设置映射端口 CMD ["nginx"] ---------------------------------------容器启动时要执行的命令
构建镜像操作 docker build
执行
docker build -t nginx:1.6 . -t ---------指定镜像名和标签请注意,最后面有一个点 ‘.’,指定dockerfile的路径,也可以写为绝对路径
执行成功会出现
查看本地镜像可以看到我们构建的镜像
运行我们构建的镜像,映射到本地的80端口
查看本地端口80
访问本地80端口,成功
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx