閱讀954 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Docker 之 構建鏡像

構建鏡像的兩種方式,**無論哪種方式,創建新鏡像都需要依賴一個已有的標準鏡像文件**

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

最後更新:2017-05-25 16:31:28

  上一篇:go  一個使用 asyncio 協程的網絡爬蟲(三)
  下一篇:go  開源大數據周刊-第54期