網上有很多了,但根據實際情況的不同,會有很多問題,經過乙個星期的摸索,終於在我的實驗環境下成功了,下面詳細記錄過程。
網上最好的教材:
實驗環境:
實體機:windows 8
虛擬機器:vm10
虛擬環境:ubuntu15.04+debian8.2 (檢視系統版本用lsb_release -a 檢視核心版本用uname -a)
系統安裝:ubuntu下安裝
安裝docker
$ wget -p ~安裝執行docker-registry$ echo "[ -f ~/.bashrc_docker ] && . ~/.bashrc_docker" >> ~/.bashrc; source ~/.bashrc
debian下安裝
先新增源
在/etc/apt/sources.list中新增
deb docker main
deb-src docker main
然後執行
apt-get update
apt-get install lxc-docker
概念理解:如果本地沒有拉取過docker-registry,則首次執行會pull registry。我們的docker客戶端和伺服器端的連線配置成http的,如果要安全考慮,需要https連線,需要安裝ssl和生成證書,這裡就不用。
詳細步驟
1、在hub docker裡搜尋需要的images,eg
docker search elasticsearch
2、pull想要的images
docker pull elasticsearch
3、檢視本地有的images
docker images
4、為了不適用ssl,給配置檔案加引數
nano /etc/default/docker
docker_opts="--insecure-registry localhost:5000"
用service docker restart重啟後
用ps aux |grep docker檢視這條引數有沒有加上
5、如果沒有執行regsitry,執行
docker run -d -p 5000:5000 --restart:always --name registry [imageid]
如果報錯容器已經使用,則先刪除registry容器
docker rm registry (可能要強制刪除加 -f)
6、push到registry之前先要tag
例如:要將elasticsearch push到registry
docker tag elasticsearch localhost:5000/elasticsearch
docker push localhost:5000/elasticsearch
7、進入regsitry容器檢視是否push成功
第一種: docker-enter ls /tmp/registry/images
第二種:curl http://localhost:5000/v1/search
還有很多方法。
8、配置debian
同樣在 \etc\default\docker檔案裡新增引數
但問題來了,當用service docker restart重啟服務,並用ps檢視程序時,發現引數並沒有加上,所以在debian上pull的時候預設是用https,用systemctl status docker
檢視,發現啟動檔案有個是/lib/system/system/docker.service,在這個檔案裡修改
execstart=/usr/bin/docker -d -h fd:// --insecure-registry ubuntu:5000
用systemctl restart docker就好了
9、在debain上pull
docker pull ubuntu:5000/elasticsearch
成功!
docker搭建私有倉庫
registry映象 docker pull registry 二 通過該映象啟動乙個容器 docker run d p 5000 5000 v opt data registry tmp registry registry 注 預設情況下,會將倉庫存放於容器內的 tmp registry目錄下,這...
Docker搭建私有倉庫
docker私有倉庫 1 私有倉庫搭建與配置 1 拉取私有倉庫映象 此步省略 docker pull registry 2 啟動私有倉庫容器 docker run di name registry p 5000 5000 registry 3 開啟瀏覽器 輸入位址看到 表示私有倉庫搭建成功並且內容為...
docker搭建私有倉庫
先吧私有倉庫down下來,這需要一點時間,剛好這中間的時間,我們可以準備一下其他的東西 docker pull registry 緊接著,registry需要https執行環境,所以來生成我們自己的證書 簡單說明一下,目前的registry版本是2,之前的1是支援非ssl的,docker在0.9以下...