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