容器Docker學習系列六~命令學習倉庫命令

容器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個容器引擎項目,點亮你的容器集群技能樹

TAG:容器 | 科技 | Docker |