容器Docker學習系列六~命令學習倉庫命令
來自專欄瑞琪的程序之路
在前面幾篇文章中,我們學習了怎麼安裝Docker,並進行本地Docker的操作,現在我們就學習下Docker倉庫的學習,其實Docker很多理念操作也是來自git,比如我們在下載一個鏡像的時候,可以看到多個下載hash。 下載的時候已經下載過的就可以不在進行下載。繼續下載其他沒有下載的就好。我們倉庫提供了這個功能的實現,接下來我們來看下鏡像倉庫有什麼命令吧。
login/logout
Docker也是有許可權驗證的,所以我們也需要登錄去上傳自己製作的Docker文件。沒有賬戶的朋友是沒法上傳鏡像到倉庫中的。
語法糖 docker login[OPTIONS] [SERVER]
docker logout [OPTIONS] [SERVER]
OPTIONS : 還是可選參數
- -u:登錄的用戶名
- -p:登錄的密碼
列子
ruiqi@fruiqi:~/Desktop/code/database-H2-demo$ docker logout hub.xxxa.com Removing login credentials for hub.infervision.comruiqi@fruiqi:~/Desktop/code/database-H2-demo$ docker login -u fruiqi -p ×××× sfa.xxxa.com WARNING! Using --password via the CLI is insecure. Use --password-stdin.Login Succeeded
pull
從我們指定的倉庫拉去或者更新指定鏡像
語法糖 docker pull [OPTIONS] [Dcoker Registory 地址[:埠號]/] 倉庫名[:標籤]
其中 OPTIONS可選的:
- -a:拉取所有的tagged鏡像
- --disable-content-trues:忽略鏡像的校驗,默認開啟
列子:
//查詢mongo版本 看自己使用哪個docker@ubuntu:~$ docker search mongo NAME DESCRIPTION STARS OFFICIAL AUTOMATEDmongo MongoDB document databases provide high avai… 4852 [OK] mongo-express Web-based MongoDB admin interface, written w… 280 [OK] tutum/mongodb MongoDB Docker image – listens in port 27017… 225 [OK]mvertes/alpine-mongo light MongoDB container 79 [OK]mongoclient/mongoclient Official docker image for Mongoclient, featu… 53 [OK]bitnami/mongodb Bitnami MongoDB Docker Image 45 [OK]frodenas/mongodb A Docker Image for MongoDB 17 [OK]mongooseim/mongooseim Small docker image for MongooseIM - robust a… 16 mongooseim/mongooseim-docker MongooseIM server the latest stable version 11 [OK]cvallance/mongo-k8s-sidecar Kubernetes side car to setup and maintain a … 8 [OK]centos/mongodb-26-centos7 MongoDB NoSQL database server 5 centos/mongodb-32-centos7 MongoDB NoSQL database server 5 istepanov/mongodump Docker image with mongodump running as a cro… 5 [OK]eses/mongodb_exporter mongodb exporter for prometheus 4 [OK]khezen/mongo MongoDB Docker image supporting RocksDB stor… 4 [OK]neowaylabs/mongodb-mms-agent This Docker image with MongoDB Monitoring Ag… 2 [OK]centos/mongodb-34-centos7 MongoDB NoSQL database server 1 centos/mongodb-36-centos7 MongoDB NoSQL database server 1 openshift/mongodb-24-centos7 DEPRECATED: A Centos7 based MongoDB v2.4 ima… 1 webhippie/mongodb Docker images for mongodb 1 [OK]circleci/mongo CircleCI images for MongoDB 1 [OK]ekesken/mongo docker image for mongo that is configurable … 1 [OK]ansibleplaybookbundle/mongodb-apb An APB to deploy MongoDB. 0 [OK]amd64/mongo MongoDB document databases provide high avai… 0 quilt/mongo MongoDB container for quilt.io 0 [OK]//執行下載最新的版本 有點大 需要一段時間下載 如果需要下載別的自己根據名稱下載即可docker@ubuntu:~$ docker pull mongoUsing default tag: latestlatest: Pulling from library/mongodocker@ubuntu:~$ docker pull -a mongo 拉取所有的版本 具體自己可以嘗試下2.2.7: Pulling from library/mongo
push
將本地的鏡像上傳到鏡像倉庫,但是這裡需要我們先登錄到鏡像倉庫
語法糖 docker push [PTIONS] NAME:[:TAG]
OPTIONS 說明:
- -disable-content-trust:忽略鏡像的校驗,默認開啟 我這裡自己使用的是阿里雲的鏡像倉庫,大家可以自己去創建一個阿里雲鏡像倉庫(管理中心–>創建鏡像倉庫–>我的是華東1綁定github賬戶即可) 列子:這裡我用的是我們公司的倉庫
ruiqi@fruiqi:~/Desktop/code/database-H2-demo$ docker logout hub.asdada.com Removing login credentials for hub.infervision.comruiqi@fruiqi:~/Desktop/code/database-H2-demo$ docker login -u fruiqi -p 密碼 hub.asdada.com WARNING! Using --password via the CLI is insecure. Use --password-stdin.Login Succeeded//顯示登錄成功後,我們就可以直接進行push操作了。ruiqi@fruiqi:~/Desktop/code/database-H2-demo$ docker push hub.asdada.com/fruiqi/datamanagesystem:2.0.2 The push refers to repository [hub.asdada.com/fruiqi/datamanagesystem]5da685150776: Pushed 7a42af8ace8d: Layer already exists e80bd912af31: Layer already exists 8bc7bbcd76b6: Layer already exists 298c3bb2664f: Layer already exists 73046094a9b8: Layer already exists 2.0.2: digest: sha256:aa27d45306540e5cd9e4dc1871b9229a276196a1dacf14eef6fe44bda63a945b size: 157
上面的操作就完成了,我們就可以在我們的倉庫看到已經上傳的docker容器。
search
docker 搜索鏡像,查找符合自己想要的版本鏡像
語法糖 docker search [OPTIONS] TERM
OPTIONS說明:
- --no-trunc:顯示完整的鏡像描述
- -s:列出收藏數不小於指定值的鏡像。 列子:
ruiqi@fruiqi:~/Desktop/code/database-H2-demo$ docker search -s 100 mysqlFlag --stars has been deprecated, use --filter=stars=3 insteadNAME DESCRIPTION STARS OFFICIAL AUTOMATEDmysql MySQL is a widely used, open-source relation… 6765 [OK] mariadb MariaDB is a community-developed fork of MyS… 2159 [OK] mysql/mysql-server Optimized MySQL Server Docker images. Create… 495 [OK]percona Percona Server is a fork of the MySQL relati… 360 [OK] zabbix/zabbix-server-mysql Zabbix Server with MySQL database support 116 [OK]
今天我們學習這四個命令幫助我們快速的構建查找,更新,推送新的版本鏡像。當然我們還可以進行登錄,操作等等。通過今天的學習,我們可以很方便的管理自己的私人遠程倉庫。當然如果原先的命令忘記了,可以點擊以下文章進行學習
容器Docker學習系列一
容器Docker學習系列二
容器Docker學習系列三~命令學習
容器Docker學習系列四~源的修改增加效率
容器Docker學習系列五~命令學習history,save, import
推薦閱讀:
※Docker容器的自動化監控實現
※Buildah入門
※空間是生活的容器,新中式別墅庭院景觀設計
※幾幅圖幫你搞定容器苗在樹木培育過程中扮演的重要的角色
※[收藏]100個容器引擎項目,點亮你的容器集群技能樹