docker使用之dockerfile手动构建镜像(三)

docker使用之dockerfile手动构建镜像

1、构建镜像

1 docker  run --name  mynginx  -it centos   #生成容器
2     yum  -y install  nginx 
3 docker  commit -m   "my nginx"  596817b17b74  enjoymov/mynginx:v1   #构建镜像
4 docker  run --name nginx   -it  enjoymov/mynginx:v1  #生成容器
5     vi   /etc/nginx/nginx.conf
6         daemon  off;
7 docker  commit  -m   "my nginx"  596817b17b74   enjoymov/mynginx:v2  #构建镜像
docker  run --name nginx-v2  -it -d -p 85:80 enjoymov/mynginx:v2  nginx  #生成nginx环境容器,指定80端口映射到外网的85端口

2、dockerfile构建:

docker   build   /opt/nginx/   #指定Dockerfile的目录
  • 基础镜像信息
  • 维护者信息
  • 镜像操作命令
  • 容器启动时执行指令

 dockerfile的配置文件选项:

FROM      #他的妈妈是谁(基础镜像)
MAINTAINER  #他的爸爸是谁,创造者的信息(维护者信息)
RUN       #你想让他干什么(命令前面加RUN)
ADD       #你想往他里面放什么东西(copy文件,会自动解压文件必须再当前目录)
WORKDIR    #cd 命令 (当前目录)
VOLUME     #给我一个存放行李的地方(挂载目录)
EXPOSE     # 指定打开的端口
CMD      #要执行命令的名字 

 创建nginx 镜像的dockerfile

vim  /opt/nginx/Dockerfile

# This is docker file # version 1.0 # Author: xu chen yang # Base image FROM centos #Mainitainer MAINTAINER chenyang.xu chenyang.xu@enjoymov.com #commands RUN rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm RUN yum -y install nginx RUN echo "daemon off;" >> /etc/nginx/nginx.conf EXPOSE 80 CMD ['nginx']

使用Dockerfile构建镜像

docker   build     -t   emov/mynginx:v3   /opt/nginx/ 

创建容器并在后台运行

[root@zabbix opt]# docker  run --name nginx-1.3  -it  -d -p 87:80 emov/mynginx:v1.3  nginx 

 

posted @ 2018-03-16 21:06  换你一世迷离  阅读(232)  评论(0编辑  收藏  举报