1. 程式人生 > >docker搭建本地倉庫並製作自己的映象

docker搭建本地倉庫並製作自己的映象

1. 搭建本地倉庫

1.1 下載倉庫映象

docker pull registry

1.2 啟動倉庫容器

docker run -d -p 5000:5000 -v /home/registry/:/tmp/registry registry

第一個5000是本地的埠,第二個5000是docker裡面的埠,將本地5000的埠對映到
docker裡面的5000埠

2. 在CentOS容器中安裝JDK

2.1 下載CentOS容器

docker pull daocloud.io/library/centos:latest

2.2 執行Linux容器:

docker run -d -it --name myCentos 映象ID /bin/bash
  • -d 後臺執行
  • –name 容器名

2.3 將JDK複製到myCentos容器中

docker cp jdk-10.0.1_linux-x64_bin.tar.gz myCentos:/usr/local

2.4 進入容器

docker exec -it myCentos /bin/bash

2.5 解壓JDK

tar -zxvf jdk-10.0.1_linux-x64_bin.tar.gz

2.6 配置環境變數

vi /etc/profile

在檔案末尾新增:
export JAVA_HOME=/usr/local/jdk1.8.0_152
export PATH=$

JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

2.6.1 重新整理環境變數

source /etc/profile

2.6.2 設定開機自動執行source

vi ~/.bashrc

在第一行新增 source /etc/profile

2.6.3 重啟容器

docker stop myCentos
docker start myCentos

2.7 將容器提交到映象裡

docker commit <CONTAINERID> <IMAGE>

將容器提交到映象中

3. 將新制作的映象推送到倉庫中

3.1 修改tag

docker tag <REPOSITORY>  倉庫IP地址:埠/映象名

tag名應該為 ip:埠/映象名 的形式,它會將此映象推送到此IP地址下的倉庫,並且定義此映象名

3.2 將映象推送到倉庫中

docker push tag名

注意:如果push報錯:The push refers to a repository [139.199.64.253:5000/java]
Get https://139.199.64.253:5000/v1/_ping: http: server gave HTTP response to HTTPS client
則修改 /etc/docker 路徑下的 daemon.json 檔案,如果沒有則手動建立,在檔案中寫入:
{ “insecure-registries”:[“139.199.64.253:5000”] }
然後重啟docker: service docker restart
重新啟動倉庫:docker run -d -p 5000:5000 -v /home/registry/:/tmp/registry registry

如果想推送到docker的中央倉庫則 tag名改為 : docker.io/java 然後再推送即可