1. 程式人生 > 實用技巧 >Dockerfile映象

Dockerfile映象

一、自動部署應用

1.自建docker-web專案,存入/usr/image/first-dockerfile

#構建應用映象  最後一個.是當前目錄路徑
docker build -t helq3.com/mywebapp:1.0 .

Dockerfile內容

#設定基準映象
FROM tomcat:latest
MAINTAINER helq3.com
#切換工作目錄,不存在則建立
#cd /usr/local/tomcat/webapps
WORKDIR /usr/local/tomcat/webapps
#複製目錄下的所有檔案到容器目錄
ADD docker-web ./docker-web

2.檢視映象,建立容器:docker run -d -p 8001:8080 helq3.com/mywebapp:1.0,然後網頁查詢(亂碼沒力氣改了,以後再說)

二、映象分層(layer)

1.

三、映象命令

docker build: 建立映象 RUN執行在構建映象時執行命令

docker run:建立容器 CMD|ENTRYPOINT 在容器建立時執行命令

Shell命令:會建立子程序,子程序結束則回到主程序

Exec命令:建立新程序覆蓋主程序,新程序結束則結束

ENTRYPOINT一定會被執行,而CMD命令不一定會執行

測試:

  建立資料夾:mkdir docker_run 檔案下:vim Dockerfile

  FROM centos

  RUN ["echo","image building!!"]

  ENTRYPOINT ["ps"]

  CMD ["-ef"]

  構建映象:docker build -t helq3.com/docker_run . --image building!!

  執行:docker run helq3.com/docker_run --ps -ef

四、dockerfile構建redis映象 --練習指令

1.redis相關的兩個檔案拖到image下

2.vim Dockerfile

FROM centos   
RUN ["yum","install","-y","gcc","gcc-c++","net-tools","make"]
WORKDIR /usr/local ADD redis-4.0.14.tar.gz . WORKDIR /usr/local/redis-4.0.14/src RUN make && make install WORKDIR /usr/local/redis-4.0.14 ADD redis-7000.conf . EXPOSE 7000 #釋放7000埠 CMD ["redis-server","redis-7000.conf"] #起服務

3.docker build -t helq3.com/docker-redis .

4.docker run -p 7000:7000 helq3.com/docker-redis

5已有的映象 docker images 正在執行的服務 docker ps 跳到redis-4.0.14目錄下檢視 新增redis-7000.conf

6.hub.docker.com最簡單 拉取最新:docker pull redis 執行:docker run redis