Docker 之 构建镜像

  • A+
所属分类:Linux

构建镜像的两种方式,**无论哪种方式,创建新镜像都需要依赖一个已有的标准镜像文件**

1、通过Docker commit 来保存当前容器内容为一个新镜像

$ docker commit container_name new_image_name

2、通过Dockerfile文件构建新镜像
编辑Dockerfile文件

  1. #FROM必须是第一行,指明要基于哪个镜像进行构建
  2. FROM daocloud.io/centos:7
  3. #多行标签
  4. LABEL com.example.version="0.0.1"\ com.example.release-date="2017-05-25"
  5. #将同Dockerfile文件目录下的文件拷贝到镜像的指定目录下
  6. COPY shm.jar /usr/local/
  7. COPY jdk1.8 /usr/local/
  8. #设置镜像的环境变量
  9. ENV JAVA_HOME=/usr/local/jdk1.8
  10. ENV PATH=$JAVA_HOME/bin:$PATH
  11. #指定容器被运行时,自动执行的命令,方便服务镜像的使用
  12. CMD /usr/bin/touch /usr/local/shm.log &&\
  13.       java -jar /usr/local/shm.jar &> /usr/local/shm.log &
  14. #曝光运行该镜像容器的端口
  15. 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

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: