构建镜像的两种方式,无论哪种方式,创建新镜像都需要依赖一个已有的标准镜像文件
1、通过Docker commit 来保存当前容器内容为一个新镜像
$ docker commit container_name new_image_name
2、通过Dockerfile文件构建新镜像
编辑Dockerfile文件
#FROM必须是第一行,指明要基于哪个镜像进行构建
FROM daocloud.io/centos:7
#多行标签
LABEL com.example.version="0.0.1"\ com.example.release-date="2017-05-25"
#将同Dockerfile文件目录下的文件拷贝到镜像的指定目录下
COPY shm.jar /usr/local/
COPY jdk1.8 /usr/local/
#设置镜像的环境变量
ENV JAVA_HOME=/usr/local/jdk1.8
ENV PATH=$JAVA_HOME/bin:$PATH
#指定容器被运行时,自动执行的命令,方便服务镜像的使用
CMD /usr/bin/touch /usr/local/shm.log &&\
java -jar /usr/local/shm.jar &> /usr/local/shm.log &
#曝光运行该镜像容器的端口
EXPOSE 9090
构建镜像
# 注意最后的 . 这个点指定Dockerfile所在的当前目录
docker build -t image_name:tag .
运行镜像
docker run -idt --name container_name -p port:port image_name:tag shell
docker run -idt --name mysql -p 3306:3306 local/mysql:1.0 /bin/bash