创建镜像的方法(用nginx镜像来举例)
1、第一个最基础的commit创建镜像的方法,这个根据一个现有的容器创建来创建一个镜像:
先用docker run 创建一个容器
docker run -dt --name a1 -p 80:80 nginx:latest
用commit创建一个镜像
docker commit a1 images:latest
这样就创建出一个镜像了
images latest 064d66b77d0f 14 seconds ago 141MB
也可以在容器更改默认内容
cd /
mkdir index.html
docker cp /index.html a1:/usr/share/nginx/html
这样在访问时就会变成自己想要的内容
这个方法虽然简便明了,但是一般实际环境并不适用,在构建镜像中时,会导致大量无用的文件加载进去
2、Dockerfile是一个文本文件,可以根据这个脚本文件来创建用户创建镜像的时候所需要的执行的所有命令
首先先创建一个文件
mkdir docker
cd docker
在进入vim Dockerfile编辑模式
在编辑模式的首单词都有特殊的含义,都要进行大写的
FROM +所根据的镜像内容(FROM nginx)是必备的文件且是第一行
MAINTAINER+任意内容(MAINTAINER PPP)
ENV 当前镜像的路径 (ENV MYPATH /usr/share/nginx/html/)
WOKRDIR 工作路径(WORKDIR &MYPATH)
之后也可以在Dockerfile 里面输入ADD,COPY等命令,可以为容器添加相关操作,两个命令之间要用&&表示并列我在这简单介绍一下COPY
COPY index.html /url/share/nginx/html/ 这样就可以把nginx的默认路径更改
之后再根据Dockerfile创建镜像
docker build -t images1:latest .(记住一个点不要漏)