摘要:從復(fù)制新文件或目錄,并將它們添加到容器的文件系統(tǒng),路徑。允許您配置將作為可執(zhí)行文件運行的容器。為以守護(hù)進(jìn)程方式運行然后就可以正常訪問了
Dockerfile 執(zhí)行Dockerfile
FROM
MAINTAINER
RUN
CMD 為容器提供默認(rèn)值,默認(rèn)提供給ENTRYPOINT,docker命令添加參數(shù)可覆蓋原有的
RUN 執(zhí)行任何指令并提交結(jié)果,用于Dockerfile的下一步工作
EXPOSE 暴露端口號
ENV
ADD
COPY
ENTRYPOINT 允許您配置將作為可執(zhí)行文件運行的容器。docker命令添加參數(shù)可覆蓋不原有的,如想覆蓋需要添加--entrypoint
VOLUME 創(chuàng)建具有指定名稱的安裝點,并將其標(biāo)記為從本機(jī)主機(jī)或其他容器保留外部安裝的卷。
USER 指定運行容器的用戶名
WORKDIR 為Dockerfile中的任何RUN,CMD,ENTRYPOINT,COPY和ADD指令設(shè)置工作目錄
vim Dockerfile
FROM centos:latest MAINTAINER ellis [email protected] # OS環(huán)境配置 RUN yum clean all RUN yum install -y wget # 安裝JDK RUN mkdir /var/tmp/jdk RUN wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" -P /var/tmp/jdk http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz RUN tar xzf /var/tmp/jdk/jdk-8u151-linux-x64.tar.gz -C /var/tmp/jdk && rm -rf /var/tmp/jdk/jdk-8u151-linux-x64.tar.gz #設(shè)置環(huán)境變量 ENV JAVA_HOME /var/tmp/jdk/jdk1.8.0_151 ENV CATALINA_HOME /var/tmp/tomcat/apache-tomcat-8.5.8 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin #暴露端口 EXPOSE 7070 #上傳工程包 RUN mkdir -p /test/demo COPY cloud-eureka-server-0.0.1-SNAPSHOT.jar /test/demo ENTRYPOINT ["sh", "-c", "cd /test/demo;java -jar cloud-eureka-server-0.0.1-SNAPSHOT.jar"]
創(chuàng)建test-dockerfile的倉庫
? docker build -t test_demo . Sending build context to Docker daemon 51.35MB Step 1/14 : FROM centos:latest ---> a8493f5f50ff Step 2/14 : MAINTAINER ellis [email protected] ---> Using cache ---> c634b5fb0309 Step 3/14 : RUN yum clean all ---> Using cache ---> 0dd52fc7970b Step 4/14 : RUN yum install -y wget ---> Using cache ---> 1f2ff9aa7889 Step 5/14 : RUN mkdir /var/tmp/jdk ---> Using cache ---> 48a810aafba3 Step 6/14 : RUN wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" -P /var/tmp/jdk http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz ---> Using cache ---> 88372ad590d7 Step 7/14 : RUN tar xzf /var/tmp/jdk/jdk-8u151-linux-x64.tar.gz -C /var/tmp/jdk && rm -rf /var/tmp/jdk/jdk-8u151-linux-x64.tar.gz ---> Using cache ---> b415f3947273 Step 8/14 : ENV JAVA_HOME /var/tmp/jdk/jdk1.8.0_151 ---> Using cache ---> 25cf99b2d7e2 Step 9/14 : ENV CATALINA_HOME /var/tmp/tomcat/apache-tomcat-8.5.8 ---> Using cache ---> cd33c693ec97 Step 10/14 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin ---> Using cache ---> 8503dab918cd Step 11/14 : EXPOSE 7070 ---> Using cache ---> e8d866b900d7 Step 12/14 : RUN mkdir -p /test/demo ---> Using cache ---> a4be88f4d72d Step 13/14 : COPY cloud-eureka-server-0.0.1-SNAPSHOT.jar /test/demo ---> Using cache ---> dc61e44cbd4b Step 14/14 : ENTRYPOINT sh -c cd /test/demo;java -jar cloud-eureka-server-0.0.1-SNAPSHOT.jar ---> Using cache ---> b756a23f0a24 Successfully built b756a23f0a24 Successfully tagged test_demo:latest
執(zhí)行的時候還是需要-p指定端口映射關(guān)系,才能正常訪問。-d為以守護(hù)進(jìn)程方式運行
? docker run -d -p 7070:7070 test_demo:latest cf5bd9b29030bbaaf1cc20344dd7489b2bb2aca31ddabd2e0d3414ec6d6589ff
然后就可以正常訪問了
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/26867.html
摘要:安裝完成后,可以用以下命令查看下版本信息。另外,如果要刪除剛運行的兩個容器,可以總結(jié)本文從數(shù)據(jù)持久化開始說起,淺談了和并附送如何用這兩種方式分別搭建環(huán)境,并在對比中展示了它們各自的特點。 上一文中提到,每次對容器做了改動,如果不把它 commit 成新的鏡像,在刪除容器后,數(shù)據(jù)也會丟失,有沒有什么更好的辦法來保存數(shù)據(jù)呢?使用數(shù)據(jù)卷就可以解決這個問題。 另外,相對于用 commit 容器...
摘要:一核心組件客戶端和服務(wù)端鏡像容器二關(guān)鍵概念以鏡像為基礎(chǔ),在鏡像的基礎(chǔ)上創(chuàng)建運行容器,可以簡單的理解為容器是鏡像運行時的表現(xiàn)。 一、docker核心組件 docker客戶端和服務(wù)端 docker鏡像 registry docker容器 二、關(guān)鍵概念 docker以鏡像為基礎(chǔ),在鏡像的基礎(chǔ)上創(chuàng)建、運行容器,可以簡單的理解為容器是鏡像運行時的表現(xiàn)。 三、docker基本命令 容器相關(guān) 1、d...
摘要:分鐘快速入門教程一歡迎來到世界與虛擬化在沒有的時代,我們會使用硬件虛擬化虛擬機(jī)以提供隔離。倉庫分為公開倉庫和私有倉庫,最大的公開倉庫是官方倉庫,國內(nèi)的公開倉庫也有很多選擇,例如阿里云等。 30 分鐘快速入門 Docker 教程 一、歡迎來到 Docker 世界 1. Docker 與虛擬化 在沒有 Docker 的時代,我們會使用硬件虛擬化(虛擬機(jī))以提供隔離。這里,虛擬機(jī)通過在操作系...
摘要:完成之后運行命令你的輸出可能會像這樣和都為,這是因為剛剛在編寫時沒有指定它們。多階段構(gòu)建鏡像多階段構(gòu)建鏡像其實運行程序只需要就行,我們沒有必要使用作為基礎(chǔ)鏡像。但把程序打包成包,然后再交給的方式太麻煩了。運行簡單的Java程序先在當(dāng)前目錄創(chuàng)建App.java文件public class App{ public static void main(String[] args){ ...
摘要:分鐘快速入門教程一歡迎來到世界與虛擬化在沒有的時代,我們會使用硬件虛擬化虛擬機(jī)以提供隔離。倉庫分為公開倉庫和私有倉庫,最大的公開倉庫是官方倉庫,國內(nèi)的公開倉庫也有很多選擇,例如阿里云等。 原文地址:梁桂釗的博客博客地址:http://blog.720ui.com 歡迎關(guān)注公眾號:「服務(wù)端思維」。一群同頻者,一起成長,一起精進(jìn),打破認(rèn)知的局限性。 30 分鐘快速入門 Docker 教程...
閱讀 1213·2021-11-17 09:33
閱讀 3624·2021-09-28 09:42
閱讀 3353·2021-09-13 10:35
閱讀 2512·2021-09-06 15:00
閱讀 2456·2021-08-27 13:12
閱讀 3620·2021-07-26 23:38
閱讀 1864·2019-08-30 15:55
閱讀 550·2019-08-30 15:53