docker搭建本地倉庫並製作自己的映象
阿新 • • 發佈:2018-12-26
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 然後再推送即可