Docker如何制作自己鏡像并上傳dockerhub
1.首先注冊(cè)自己的dockerhub賬號(hào),注冊(cè)地址:https://hub.docker.com
2.在linux服務(wù)器登錄自己的賬號(hào):docker login --username=qiaoyeye
3.在https://hub.docker.com/上先找到自己想要的鏡像
4.拉取鏡像到本地:docker pull centos
5.本地準(zhǔn)備jdk和tomcat軟件,解壓后放入服務(wù)器
6.新建Dockerfile文件,注意區(qū)分大小寫
#---------------------------------------------------------------------#This is a comment注釋#使用基礎(chǔ)鏡像centos:latestFROM centos:latest#指定鏡像創(chuàng)建者信息MAINTAINER qiaoyeye <<A href='mailto:[email protected]@163.com' rel='external nofollow' >[email protected]>#切換鏡像的目錄,進(jìn)入/usr目錄(基礎(chǔ)鏡像是一個(gè)linux系統(tǒng),可參照linux查看相應(yīng)目錄)WORKDIR /usr#在/usr/下創(chuàng)建java目錄,用來存放jdkRUN mkdir java#切換鏡像的目錄至/usr/javaWORKDIR /usr/java#在/usr/java下創(chuàng)建jdk目錄,用來存放jdk文件RUN mkdir jdk#切換鏡像的目錄至/usr/java/jdkWORKDIR /usr/java/jdk#將宿主機(jī)的jdk目錄下的全部文件考入至鏡像的/usr/java/jdk目錄下ADD jdk /usr/java/jdk#切換鏡像的目錄至/optWORKDIR /opt#在/opt下創(chuàng)建tomcat目錄,用來存放tomcat文件RUN mkdir tomcat#將宿主機(jī)的tomcat目錄下的全部文件考入至鏡像的/opt/tomcat目錄下ADD tomcat /opt/tomcat#設(shè)置環(huán)境變量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#設(shè)置容器啟動(dòng)時(shí)執(zhí)行的操作CMD /opt/tomcat/bin/catalina.sh run#---------------------------------------------------------------------
7.制作鏡像:docker build -tqiaoyeye/centos:latest.
注意帶最后面的一個(gè)點(diǎn)
8.查看制作的鏡像docker images
9.上傳鏡像值hub倉庫。
docker pushqiaoyeye/centos:latest
10.如果上傳的鏡像不是你的dockerhub和鏡像名:Docker ID/倉庫名,就先用:docker tag 鏡像ID Docker ID/倉庫名:新的標(biāo)簽名(tag)
sudo docker tag bd213262aa2cqiaoyeye/centos:latest
11.上傳成功后,登錄自己的dockerhub,查看
PS:怎么將鏡像上傳至阿里云???
上傳鏡像至阿里云的步驟同上,詳細(xì)餐卡官方說明:https://cr.console.aliyun.com/repository/cn-beijing/qiaoyeye/test1/details
1.登錄阿里云Docker Registry
$ sudo docker login --username=喬葉葉 registry.cn-beijing.aliyuncs.com
用于登錄的用戶名為阿里云賬號(hào)全名,密碼為開通服務(wù)時(shí)設(shè)置的密碼。
您可以在產(chǎn)品控制臺(tái)首頁修改登錄密碼。
2.從Registry中拉取鏡像
$ sudo docker pull registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[鏡像版本號(hào)]
3.將鏡像推送到Registry
$ sudo docker login --username=喬葉葉 registry.cn-beijing.aliyuncs.com$ sudo docker tag [ImageId] registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[鏡像版本號(hào)]$ sudo docker push registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[鏡像版本號(hào)]
請(qǐng)根據(jù)實(shí)際鏡像信息替換示例中的[ImageId]和[鏡像版本號(hào)]參數(shù)。
4.選擇合適的鏡像倉庫地址
從ECS推送鏡像時(shí),可以選擇使用鏡像倉庫內(nèi)網(wǎng)地址。推送速度將得到提升并且將不會(huì)損耗您的公網(wǎng)流量。
如果您使用的機(jī)器位于經(jīng)典網(wǎng)絡(luò),請(qǐng)使用registry-internal.cn-beijing.aliyuncs.com作為Registry的域名登錄,并作為鏡像命名空間前綴。
如果您使用的機(jī)器位于VPC網(wǎng)絡(luò),請(qǐng)使用registry-vpc.cn-beijing.aliyuncs.com作為Registry的域名登錄,并作為鏡像命名空間前綴。
5.示例
使用'docker tag'命令重命名鏡像,并將它通過專有網(wǎng)絡(luò)地址推送至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專有網(wǎng)絡(luò)地址。
$ sudo docker push registry-vpc.cn-beijing.aliyuncs.com/acs/agent:0.7-dfb6816
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Python中Anaconda3 安裝gdal庫的方法2. PHP AOP教程案例3. python用zip壓縮與解壓縮4. python公司內(nèi)項(xiàng)目對(duì)接釘釘審批流程的實(shí)現(xiàn)5. Notepad++如何配置python?配置python操作流程詳解6. Python 簡介7. Python操作Excel工作簿的示例代碼(*.xlsx)8. JAVA如何轉(zhuǎn)換樹結(jié)構(gòu)數(shù)據(jù)代碼實(shí)例9. Python importlib模塊重載使用方法詳解10. Python自動(dòng)化之定位方法大殺器xpath
