真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

【1小時記住Docker常用命令】Docker學以致用

Docker是一個開源的應(yīng)用容器引擎,將應(yīng)用以及依賴打包到一個可移植的鏡像中,然后發(fā)布到服務(wù)器上,并且可以實現(xiàn)虛擬化,有助于快捷高效的交付應(yīng)用。

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的白沙黎族網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

Docker三個核心概念:

l?鏡像Image,應(yīng)用和依賴打包生成的文件,類似安裝包。

l?容器Container,鏡像創(chuàng)建運行應(yīng)用的示例。

l?倉庫Repository,Docker存放鏡像文件的地方。

資源編排Docker-compose定義和運行多個容器組成的應(yīng)用系統(tǒng),通過docker-compose.yml文件聲明各個服務(wù),作為一個整體來完成應(yīng)用的創(chuàng)建和啟動。

Swarm是Docker官方提供的集群管理工具,將Docker節(jié)點統(tǒng)一管理組織,以服務(wù)為調(diào)度單元,支持動態(tài)擴容等特性,和Kubernetes(k8s)相比,更加輕量。

內(nèi)容目錄:

l?Docker常用命令:鏡像、容器、網(wǎng)絡(luò)、數(shù)據(jù)卷

l?Dockerfile示例和常用指令

l?資源編排docker-compose常用命令

l?docker-compose.yml示例和常用指令

l?集群部署Swarm常用命令

l?使用技巧

n?logs命令結(jié)合grep格式化日志信息

n?prune命令清理Docker系統(tǒng)垃圾

l?部署實例

n?Docker啟動nginx

n?資源編排Web服務(wù)

n?集群部署Web服務(wù)

Docker安裝:

https://docs.docker.com/install/linux/docker-ce/ubuntu/

https://docs.docker.com/docker-for-windows/install/

代碼下載:

https://github.com/rickding/HelloDocker

https://github.com/jextop/StarterDeploy

Docker常用命令:鏡像、容器、網(wǎng)絡(luò)、數(shù)據(jù)卷

【1小時記住Docker常用命令】Docker學以致用

【1小時記住Docker常用命令】Docker學以致用


Dockerfile示例:

Dockerfile是鏡像描述文件,包含了一條條的指令,每一條指令構(gòu)建一層,因此每一條指令的內(nèi)容,就是描述該層應(yīng)當如何構(gòu)建。Dockerfile基本結(jié)構(gòu):

- 基礎(chǔ)鏡像

- 維護者信息

- 鏡像構(gòu)建指令

- 容器啟動時執(zhí)行指令

FROM node:8

LABEL maintainer="Jext Community, https://github.com/rickding/HelloDocker"

# copy files
COPY . /usr/node/
WORKDIR /usr/node/

# launch service
CMD ["node", "hello.js"]

EXPOSE 8010

Dockerfile常用指令:

【1小時記住Docker常用命令】Docker學以致用?

Docker-compose資源編排常用命令:

【1小時記住Docker常用命令】Docker學以致用

docker-compose.yml示例:

資源編排文件定義了版本信息、services服務(wù)配置、networks網(wǎng)絡(luò)信息、volumes卷信息,包含每個服務(wù)啟動的容器配置。

version:'3'
services:
????db:
????????hostname:
db
????????image:MySQL:5
????????command:--default-authentication-plugin=mysql_native_password
????????ports:
????????????
- 3306:3306
????????environment:
????????????MYSQL_DATABASE:
starter
????????????MYSQL_ROOT_PASSWORD:root

????api:
????????image:starter_api:latest
????????build:.
????????ports:
????????????
- 8011:8011
????????depends_on:
????????????
- db

docker-compose.yml常用指令:

【1小時記住Docker常用命令】Docker學以致用

【1小時記住Docker常用命令】Docker學以致用

【1小時記住Docker常用命令】Docker學以致用

Swarm集群部署常用命令:

【1小時記住Docker常用命令】Docker學以致用


logs日志查看技巧

日志在系統(tǒng)運行中至關(guān)重要,開發(fā)測試以及運維通過系統(tǒng)日志分析查找故障原因。logs命令結(jié)合grep格式化日志信息:

docker-compose logs -ft |?grep --color -i -e error -e warn -e version -e exception

【1小時記住Docker常用命令】Docker學以致用

Docker三劍客logs命令整理如下:

【1小時記住Docker常用命令】Docker學以致用

【1小時記住Docker常用命令】Docker學以致用

Docker prune清理系統(tǒng)垃圾

Docker基于Linux內(nèi)核通過操作系統(tǒng)和虛擬容器調(diào)用CGroup, Namespace等系統(tǒng)接口完成資源的分配與相互隔離,基本架構(gòu)如下:

【1小時記住Docker常用命令】Docker學以致用

Docker依賴系統(tǒng)資源運行,分配回收過程中會產(chǎn)生一些垃圾,比如docker stop容器后沒有執(zhí)行docker rm刪除。運行docker system df查看資源信息,RECLAIMABLE是可回收比例:

?【1小時記住Docker常用命令】Docker學以致用

增加選項-v將顯示詳情:docker system df -v

?【1小時記住Docker常用命令】Docker學以致用

使用技巧:運行prune命令清理垃圾并釋放資源:

docker system prune?--volumes

【1小時記住Docker常用命令】Docker學以致用

Docker提供的prune命令整理如下:

【1小時記住Docker常用命令】Docker學以致用

【1小時記住Docker常用命令】Docker學以致用

實例1:Docker啟動nginx

l?代碼:https://github.com/rickding/HelloDocker/tree/master/nginx

配置和腳本文件:

├── docker-compose.yml

├── build.sh

├── run.sh

├── stop.sh

l?Dockerfile基于nginx鏡像添加網(wǎng)頁和配置文件:

FROM nginx:stable

# web files
COPY ./web/ /usr/share/nginx/html

# config
COPY ./conf/nginx.conf /etc/nginx/nginx.conf
COPY ./conf/conf.d /etc/nginx/conf.d

WORKDIR /etc/nginx

EXPOSE 80

l?構(gòu)建鏡像:執(zhí)行腳本./build.sh或命令:docker build -t nginx:latest .

l?啟動容器實例:執(zhí)行腳本./run.sh或命令:docker run -it --name nginx -p 80:80 -d nginx:latest

l?訪問http://localhost:80/,看到頁面:

【1小時記住Docker常用命令】Docker學以致用?

l?停止刪除實例:執(zhí)行腳本./stop.sh或命令:docker stop nginx && docker rm nginx

實例2:資源編排Web服務(wù)

l?代碼:https://github.com/jextop/StarterDeploy

配置和腳本文件:

├── docker-compose.yml

├── pull.sh

├── up.sh

├── logs.sh

├── down.sh

l?docker-compose.yml部署Web服務(wù)依賴的多個容器實例,數(shù)據(jù)庫、緩存、消息隊列、日志系統(tǒng)、API接口和Web管理后臺:

version: '3'
services:
????db:
????????hostname: db
????????image: mysql:5
????????command: --default-authentication-plugin=mysql_native_password
????????ports:
????????????- 3306:3306
????????environment:
???????????MYSQL_DATABASE: starter
???????????MYSQL_ROOT_PASSWORD: root

????cache:
????????hostname: cache
????????image: redis:4
????????command: redis-server --appendonly yes
????????ports:
????????????- 6379:6379

????mq:
????????hostname: mq
????????image: webcenter/activemq:latest
????????ports:
????????????- 61616:61616
????????????- 8161:8161

????elasticsearch:
????????hostname: elasticsearch
????????image: elasticsearch:latest
????????ports:
????????????- 9200:9200
????????????- 9300:9300

????log:
????????hostname: log
????????image: registry.cn-shanghai.aliyuncs.com/hellodock/logstash:7.5.2
????????ports:
????????????- 9600:9600
????????????- 9601:9601
????????depends_on:
????????????- elasticsearch

????db_admin:
????????image: adminer:latest
????????ports:
????????????- 3006:8080
????????depends_on:
????????????- db

????api:
????????image: registry.cn-shanghai.aliyuncs.com/jext/starter_api:latest
????????ports:
????????????- 8011:8011
????????depends_on:
????????????- db
????????????- cache
????????????- mq
????????????- log

????admin:
????????image: registry.cn-shanghai.aliyuncs.com/jext/starter_admin:latest
????????ports:
????????????- 8010:8010
????????depends_on:
????????????- api

l?啟動Web服務(wù):執(zhí)行腳本./up.sh或命令:docker-compose up -d

l?查看運行實例:docker-compose ps

l?查看日志:執(zhí)行腳本./logs.sh或命令:docker-compose logs -ft

l?訪問http://127.0.0.1:8010/,看到頁面:

【1小時記住Docker常用命令】Docker學以致用?

l?停止和刪除服務(wù):執(zhí)行腳本./down.sh或命令,docker-compose down --remove-orphans

實例3:集群部署Web服務(wù)

l?代碼:https://github.com/jextop/StarterDeploy

配置和腳本文件:

├── docker-compose.yml

├── pull.sh

├── deploy.sh

├── rm.sh

l?docker-compose.yml增加deploy屬性,replicas指定副本數(shù)量,placement指定docker節(jié)點:

deploy:
????replicas: 1
????# placement:
????# ????constraints: [node.labels.group == api]

l?啟動Swarm加入節(jié)點構(gòu)建集群,首個節(jié)點自動成為管理員:docker swarm init

l?部署Web服務(wù):執(zhí)行腳本./deploy.sh或命令:docker stack deploy -c docker-compose.yml starter

【1小時記住Docker常用命令】Docker學以致用?

l?查看Stack和服務(wù):docker stack ls && docker service ls

【1小時記住Docker常用命令】Docker學以致用?

l 停止刪除服務(wù):執(zhí)行腳本./rm.sh或命令:docker stack rm starter

【1小時記住Docker常用命令】Docker學以致用


網(wǎng)頁標題:【1小時記住Docker常用命令】Docker學以致用
本文地址:http://weahome.cn/article/jedsih.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部