您的位置:首頁技術文章
文章詳情頁

Docker如何制作自己鏡像并上傳dockerhub

瀏覽:50日期:2024-11-12 08:53:36

1.首先注冊自己的dockerhub賬號,注冊地址:https://hub.docker.com

2.在linux服務器登錄自己的賬號:docker login --username=qiaoyeye

3.在https://hub.docker.com/上先找到自己想要的鏡像

4.拉取鏡像到本地:docker pull centos

5.本地準備jdk和tomcat軟件,解壓后放入服務器

Docker如何制作自己鏡像并上傳dockerhub

6.新建Dockerfile文件,注意區分大小寫

#---------------------------------------------------------------------#This is a comment注釋#使用基礎鏡像centos:latestFROM centos:latest#指定鏡像創建者信息MAINTAINER qiaoyeye <<A href='mailto:softadmin@163.com@163.com' rel='external nofollow' >softadmin@163.com>#切換鏡像的目錄,進入/usr目錄(基礎鏡像是一個linux系統,可參照linux查看相應目錄)WORKDIR /usr#在/usr/下創建java目錄,用來存放jdkRUN mkdir java#切換鏡像的目錄至/usr/javaWORKDIR /usr/java#在/usr/java下創建jdk目錄,用來存放jdk文件RUN mkdir jdk#切換鏡像的目錄至/usr/java/jdkWORKDIR /usr/java/jdk#將宿主機的jdk目錄下的全部文件考入至鏡像的/usr/java/jdk目錄下ADD jdk /usr/java/jdk#切換鏡像的目錄至/optWORKDIR /opt#在/opt下創建tomcat目錄,用來存放tomcat文件RUN mkdir tomcat#將宿主機的tomcat目錄下的全部文件考入至鏡像的/opt/tomcat目錄下ADD tomcat /opt/tomcat#設置環境變量ENV JAVA_HOME=/usr/java/jdkENV JAVA_BIN=/usr/java/jdk/binENV PATH=$PATH:$JAVA_HOME/binENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar#設置容器啟動時執行的操作CMD /opt/tomcat/bin/catalina.sh run#---------------------------------------------------------------------

7.制作鏡像:docker build -tqiaoyeye/centos:latest.

注意帶最后面的一個點

8.查看制作的鏡像docker images

Docker如何制作自己鏡像并上傳dockerhub

9.上傳鏡像值hub倉庫。

docker pushqiaoyeye/centos:latest

10.如果上傳的鏡像不是你的dockerhub和鏡像名:Docker ID/倉庫名,就先用:docker tag 鏡像ID Docker ID/倉庫名:新的標簽名(tag)

sudo docker tag bd213262aa2cqiaoyeye/centos:latest

11.上傳成功后,登錄自己的dockerhub,查看

Docker如何制作自己鏡像并上傳dockerhub

PS:怎么將鏡像上傳至阿里云???

上傳鏡像至阿里云的步驟同上,詳細餐卡官方說明:https://cr.console.aliyun.com/repository/cn-beijing/qiaoyeye/test1/details

1.登錄阿里云Docker Registry

$ sudo docker login --username=喬葉葉 registry.cn-beijing.aliyuncs.com

用于登錄的用戶名為阿里云賬號全名,密碼為開通服務時設置的密碼。

您可以在產品控制臺首頁修改登錄密碼。

2.從Registry中拉取鏡像

$ sudo docker pull registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[鏡像版本號]

3.將鏡像推送到Registry

$ sudo docker login --username=喬葉葉 registry.cn-beijing.aliyuncs.com$ sudo docker tag [ImageId] registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[鏡像版本號]$ sudo docker push registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[鏡像版本號]

請根據實際鏡像信息替換示例中的[ImageId]和[鏡像版本號]參數。

4.選擇合適的鏡像倉庫地址

從ECS推送鏡像時,可以選擇使用鏡像倉庫內網地址。推送速度將得到提升并且將不會損耗您的公網流量。

如果您使用的機器位于經典網絡,請使用registry-internal.cn-beijing.aliyuncs.com作為Registry的域名登錄,并作為鏡像命名空間前綴。

如果您使用的機器位于VPC網絡,請使用registry-vpc.cn-beijing.aliyuncs.com作為Registry的域名登錄,并作為鏡像命名空間前綴。

5.示例

使用'docker tag'命令重命名鏡像,并將它通過專有網絡地址推送至Registry。

$ sudo docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEregistry.aliyuncs.com/acs/agent 0.7-dfb6816 37bb9c63c8b2 7 days ago 37.89 MB$ sudo docker tag 37bb9c63c8b2 registry-vpc.cn-beijing.aliyuncs.com/acs/agent:0.7-dfb6816

使用'docker images'命令找到鏡像,將該鏡像名稱中的域名部分變更為Registry專有網絡地址。

$ sudo docker push registry-vpc.cn-beijing.aliyuncs.com/acs/agent:0.7-dfb6816

Docker如何制作自己鏡像并上傳dockerhub

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Docker
相關文章:
国产综合久久一区二区三区