1. 程式人生 > 其它 >如何學會Docker映象倉庫的使用?

如何學會Docker映象倉庫的使用?

關於【Docker Hub】背景

   Docker Hub 是一個由 Docker 公司執行和管理的基於雲的儲存庫。它是一個線上儲存庫,Docker 映象可以由其他使用者釋出和使用。有兩種庫:公共儲存庫和私有儲存庫。如果你是一家公司,你可以在你自己的組織內擁有一個私有儲存庫,而公共映象可以被任何人使用。

一、在Docker Hub上建立自己的儲存庫repository

  • 映象儲存在Registry的倉庫中,預設的Registry是由Docker公司運營的公共Registry服務,即Docker Hub,網址為:https://hub.docker.com/。可以把Docker Hub看成類似於Github一樣的網址。

二、本地專案進行docker映象

1、登入docker

命令:docker login,顯示Login Succeeded說明成功,沒登入的話,需要輸入使用者名稱username和密碼password。

2、建立映象

使用docker-compose來建立映象,在yml檔案中還要定義專案所依賴的容器(redis和mysql)

命令:docker-compose up -d

docker-compose.yml檔案如下:

version: '2'
services:
jeecg-boot-mysql:
build:
context: ./db
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_ROOT_HOST: '%'
TZ: Asia/Shanghai
restart: always
container_name: jeecg-boot-mysql
image: xiaoxiaoyuyu123/aids:mysql
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--max_allowed_packet=128M
--default-authentication-plugin=mysql_native_password
ports:
- 3306:3306

jeecg-boot-redis:
image: xiaoxiaoyuyu123/aids:redis
ports:
- 6379:6379
restart: always
hostname: jeecg-boot-redis
container_name: jeecg-boot-redis

jeecg-boot-system:
build:
context: ./medical-assistant-boot-start
restart: on-failure
depends_on:
- jeecg-boot-mysql
- jeecg-boot-redis
container_name: jeecg-boot-system
image: jeecg-boot-system
hostname: jeecg-boot-system
ports:
- 8080:8080

3、檢視映象

命令:docker images

說明:

  • REPOSITORY:該映象所屬的倉庫名稱
  • TAG:映象的標籤(見下面介紹)
  • IMAGE ID:映象ID
  • CREATED:映象建立的時間
  • SIZE:映象的大小

4、tag標籤(映象的標籤)

標籤介紹
作用:一個倉庫中可以有多個映象。為了區分一個倉庫中不同的映象,Docker提供了標籤(tag)的功能
每個映象在列出來時都會帶有一個標籤,如16.04、18.04、quantal或者precise等。每個標籤對組成特定映象的一些映象層進行標記(比如,標籤16.04就是對所有ubuntu 16.04映象的層的標記)
同一個倉庫中,可以同時存在多個相同的映象(IMAGE ID相同),只要標籤(TAG)不同就可以了

命令:docker tag jeecg-boot-system:latest xiaoxiaoyuyu123/aids:jeecg-boot-system

說明:

jeecg-boot-system:latest(本地倉庫名稱+標籤)

xiaoxiaoyuyu123/aids:jeecg-boot-system(私服倉庫地址+標籤)

5、上傳到私有倉庫

命令:docker push xiaoxiaoyuyu123/aids:jeecg-boot-system

說明:

xiaoxiaoyuyu123/aids:jeecg-boot-system(私服倉庫地址+標籤)

三、伺服器上使用

1、先登入私服地址,然後從上面pull下來映象 

   命令:docker pull xiaoxiaoyuyu123/aids:jeecg-boot-system

2、上傳伺服器yml檔案,使用docker-compose來啟動映象

     命令:docker-compose -f ./docker-compose-server.yml up

docker-compose-server.yml檔案如下:

version: '2'
services:
jeecg-boot-mysql:
image: xiaoxiaoyuyu123/aids:mysql
environment:
MYSQL_ROOT_PASSWORD: root
restart: always
container_name: jeecg-boot-mysql
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--max_allowed_packet=128M
ports:
- 3306:3306

jeecg-boot-redis:
image: xiaoxiaoyuyu123/aids:redis
ports:
- 6379:6379
restart: always
container_name: jeecg-boot-redis

jeecg-boot-system:
image: xiaoxiaoyuyu123/aids:jeecg-boot-system3.8
restart: always
container_name: jeecg-boot-system
volumes:
- /data/config:/jeecg-boot/config
ports:
- 8080:8080

jeecg-boot-nginx:
image: xiaoxiaoyuyu123/aids:nginxhtml
restart: always
container_name: jeecg-boot-nginx
ports:
- 80:80
好啦, 關於{Docker映象倉庫的使用}分享就到這啦,PS: 如果你是前端工程師同學,歡迎試用體驗【webfunny監控系統


Webfunny專注於微信小程式、H5前端、PC前端線上應用實時監控,實時監控前端網頁、前端資料分析、錯誤統計分析監控和BUG預警,第一時間報警,快速修復BUG!支援私有化部署,容器化部署,可支援千萬級PV的日活量!