上一節說到使用Dockerfile來構建自定義的應用打包成鏡像的相關命令,這裡就舉個簡單的例子實戰一下。如下所示創建一個Dockerfile文件並加入以下內容。
構建nginx鏡像
FROM nginxRUN echo &39; > /usr/share/nginx/html/index.html
使用docker build -t nginx:test.構建鏡像即可,注意這裡的.指的是上下文路徑,執行命令時會將此目錄下面的所有內容都打包,所以構建時最好單獨建立目錄。
構建springBoot項目
創建Dockerfile文件並寫入以下內容
將本地文件夾掛載到當前容器VOLUME /tmp39; 配置容器啟動後執行的命令ENTRYPOINT [&34;,&34;,&34;,&34;]
注意:此處的test.jar必須放到當前目錄下面,不然找不到無法構建成功。
Docker Hub
docker hub是docker官方提供的一個集中管理docker鏡像的平臺,裡面大多數鏡像幾乎一應俱全。接下來就說下如何使用docker hub。
1、首先我們到docker官方註冊一個帳號,然後後續就可以使用此帳號登錄。
我們也可使用docker login 命令登錄Docker Hub。輸入該命令並按照提示輸入帳號和密碼,即可完成登錄。
$ docker loginLogin with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.Username: zhaoydPassword: Login Succeeded
2、點擊Docker Hub主頁上的」Create Repository」按鈕,按照提示填入信息即可創建一個倉庫。
創建成功後就可以將自己的製作的鏡像推送到docker hub了
docker push microservice-discovery-eureka:0.0.1
Docker Registry
很多時候,大多數開發者希望有自己的私有鏡像管理倉庫,方便鏡像管理和下載,而且更加安全。
接下來就說下如何創建自己的私有倉庫。
可使用docker-registry項目或者Docker Registry 2.0來搭建私有倉庫,但docker-registry已被官方標記為過時,並且已有2年不維護了,不建議使用。
我們先用Docker Registry 2.0搭建一個私有倉庫,然後將Docker鏡像推送到私有倉庫。
docker run -d -p 5000:5000 --restart=always --name registry2 registry:2
使用如上命令就可以創建一個docker registry2.0
接下來將鏡像推送到創建的私有倉庫
docker push xx
如果報錯則使用以下命令將鏡像標籤改掉即可上傳。
docker tag xx xx1