docker製做本身的鏡像並上傳dockerhub

1.首先註冊本身的dockerhub帳號,註冊地址:https://hub.docker.comjava

2.在linux服務器登陸本身的帳號:docker login --username=qiaoyeyelinux

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

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

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

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

#---------------------------------------------------------------------

#This is a comment註釋

#使用基礎鏡像centos:latest

FROM centos:latest
#指定鏡像建立者信息

MAINTAINER qiaoyeye <<A href="mailto:softadmin@163.com@163.com">softadmin@163.com>

#切換鏡像的目錄,進入/usr目錄(基礎鏡像是一個linux系統,可參照linux查看相應目錄)
WORKDIR /usr

#在/usr/下建立java目錄,用來存放jdk
RUN mkdir java

#切換鏡像的目錄至/usr/java
WORKDIR /usr/java

#在/usr/java下建立jdk目錄,用來存放jdk文件
RUN mkdir jdk

#切換鏡像的目錄至/usr/java/jdk
WORKDIR /usr/java/jdk

#將宿主機的jdk目錄下的所有文件考入至鏡像的/usr/java/jdk目錄下
ADD jdk /usr/java/jdk

#切換鏡像的目錄至/opt
WORKDIR /opt

#在/opt下建立tomcat目錄,用來存放tomcat文件
RUN mkdir tomcat

#將宿主機的tomcat目錄下的所有文件考入至鏡像的/opt/tomcat目錄下
ADD tomcat /opt/tomcat

#設置環境變量

ENV JAVA_HOME=/usr/java/jdk
ENV JAVA_BIN=/usr/java/jdk/bin
ENV PATH=$PATH:$JAVA_HOME/bin
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#設置容器啓動時執行的操做

CMD /opt/tomcat/bin/catalina.sh run

#---------------------------------------------------------------------

7.製做鏡像:docker build -t qiaoyeye/centos:latest .網絡

注意帶最後面的一個點ui

8.查看製做的鏡像 docker images阿里雲

 

 9.上傳鏡像值hub倉庫。spa

docker push qiaoyeye/centos:latest

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

sudo docker tag bd213262aa2c qiaoyeye/centos:latest

 11.上傳成功後,登陸本身的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

相關文章
相關標籤/搜索