管理指令
說明docker container
用於管理容器
docker image
用於管理映象
docker network
用於管理docker網路
docker node
用於管理swarm集群節點
docker plugin
用於管理外掛程式
docker secret
用於管理docker機密
docker service
用於管理docker一些服務
docker stack
用於管理docker堆疊
docker swarm
用於管理swarm
docker system
用於管理docker
docker volume
用於管理資料卷
我們可以構建屬於自己的映象,可以將其存放在倉庫中,方便日後拉取和維護,目前較為普遍使用的顯像管理工具:docker hub 和docker registry
docker hub:
進行登入註冊,申請乙個賬戶,
常見操作:
1 將本地映象推送到遠端docker倉庫中
1)推送的映象名稱必須符合dockerid/repository的形式規範(dockerid為docker hub上的賬號名, repository為映象名)
如果名稱不規範,需要先進行名稱的修改2)登入認證例如本地有個映象: hello-docker
docker tag hello-docker:latest lanlang/test:latest
這個時候 會在本地複製乙個名稱為 lanlang/test的映象。原來的映象名稱不變,可以通過docker images 檢視
推送到遠端倉庫的時候,需要進行登入驗證3)映象推送docker
login
提示輸入使用者名稱和密碼, 返回login succeeded則成功
docker push lanlang/hello-docker:latest推送完成之後,就可以在docker hub 的test倉庫中看到該映象了
因為是對外公開的,docker hub會定時的對上傳的公開映象進行索引,過段時間 任何人都可以搜尋到該倉庫映象了
docker registry:
開始本地私有倉庫的搭建之旅吧!!!
1. 使用docker官方提供的registry映象可以搭建本地私有映象倉庫
docker run -d -p 5000:5000 --restart=always --name registry -v /mnt/registry:/var/lib/registry registry:22. 重新命名映象-d: 在後台執行該容器
-p: 將私有映象倉庫內部預設暴露的5000埠對映到宿主機的5000埠
--restart=always: 本地私有映象倉庫宕機後始終會自動重啟
--name registry 指定的容器的名稱
-v mnt/registry:/var/lib/registry: 表示容器內的預設儲存為止/var/lib/registry中的資料掛在到宿主機/mnt/registry目錄下,當容器銷毀的時候, 在/var/lib/registry目錄下的資料會自動備份到宿主機指定目錄
本地私有倉庫的映象名必須符合 「倉庫ip:埠/repository」
docker tag hello-docker:latest localhost:5000/myhellodocker3. 映象推送這樣映象倉庫中會多出乙個localhost:
5000/myhellodocker的映象
docker push localhost:5000/myhellodocker至此我們本地私有倉庫搭建成功,但是還是比較基礎的。但是在實際的開發當中,無法保證系統的安全性和私密性,所以,我們還需要配置認證證書,登入賬號等推送成功之後,就可以開啟位址檢視
localhost:
5000/v2/myhellodocker/tags/list
顯示:同時在本地磁碟/mnt/registry/docker/registry/v2/repositories目錄下檢視到
1. 首先,需要檢視需要搭建私有倉庫的伺服器的ip位址,通過ifconfig
2. 生成自簽名證書
cd /home/3. 生成使用者名稱和密碼mkdir -p registry/certs && cd registry/certs/openssl req -x509 -days 3650 -subj '
/cn=172.21.0.6:5000/
' -nodes -newkey rsa:2048 -keyout domain.key -out domain.crt
-x509: x509是自簽發證書的格式
-days 3650
:表示證書的有效期
172.21.0.6:5000
rsa:
2048
:是證書演算法長度
domain.key domain.crt 就是要生成的證書檔案
在剛才的certs目錄中執行4.啟動docker registry本地驚喜那個倉庫服務cd .. && mkdir
auth
docker run --entrypoint htpasswd registry:2 -bbn lanlang 123456 >htpasswd
自此會生成本地私服訪問的使用者名稱和密碼(lanlang
123456)
將之前啟動的該服務刪除 docker rm -f registry
25.配置docker registry 訪問介面
服務啟動後,需要在該主機上配置供其他docker機器訪問的介面
mkdir -p /etc/docker/certs.d/172.21.0.6:5000第二步:將生成的domain.crt證書複製到該目錄下cp certs/domain.crt /etc/docker/certs.d/172.21.0.6\:5000/
6. 驗證測試
現在私有倉庫服務已經可以提供正常服務,我們將本地的映象推送進行測試
1)
vim /etc/docker/daemon.json2)準備測試映象新增insecure-registries 部分
儲存,重啟docker systemctl restart docker
docker tag lanlang/hello-docker:latest 172.21.0.6:5000/myhellodocker3)映象推送
docker push 172.21.0.6:5000/myhellodocker4) 可以檢視是否推送成功這個時候,會返回乙個錯誤
no basic auth credentials
說明需要進行身份驗證
首先,登入映象倉庫
docker
login
172.21.0.6:5000
根據提示輸入使用者名稱和密碼
再次推送即可
ls /mnt/registry/docker/registry/v2/repositories/至此,docker registry 已經搭建完成,但是它卻沒有視覺化管理工具,但是管理上感覺並不方便,其實有些社群已經開發了專門視覺化管理工具。例如portus,它整合了一些顯像管理功能,可以完全視覺化的管理倉庫映象和訪問使用者。這個服務的搭建,我會後面專門開一篇文章介紹於搭建
docker筆記2 基本命令
docker version檢視docker版本 docker info檢視docker詳細資訊 docker help檢視docker命令 字段解釋 pepository 映象的倉庫源 tag 映象的標籤 image id 映象id created 映象建立時間 size 映象大小 同乙個倉庫源可...
Docker 入門 2 基本命令
安裝docker 注意如果出現許可權問題要在命令前加sudo 顯示docker命令 docker help顯示單個命令的使用方式,例如cp命令的使用方式 docker help cpdocker run detach name web nginx latest也可以用 d 來代替 detach do...
2 Docker學習之容器基本命令
1 基本命令 使用 某個映象啟動乙個容器 docker run options image command arg docker run it tomcat 預設後邊是 bin bash 列出當前所有正在執行的容器 啟動容器 docker start 容器id或者容器名 重啟容器 docker re...