Docker容器常用命令的介紹與使用

今天小編給大家分享的是Docker容器常用命令的介紹與使用,文章詳細(xì)列出Docker常用命令并運(yùn)用了實(shí)例展示了命令的使用方法,感興趣的小伙伴們可以參考借鑒,希望對(duì)大家有所幫助。

我們注重客戶提出的每個(gè)要求,我們充分考慮每一個(gè)細(xì)節(jié),我們積極的做好網(wǎng)站建設(shè)、成都做網(wǎng)站服務(wù),我們努力開拓更好的視野,通過不懈的努力,創(chuàng)新互聯(lián)公司贏得了業(yè)內(nèi)的良好聲譽(yù),這一切,也不斷的激勵(lì)著我們更好的服務(wù)客戶。 主要業(yè)務(wù):網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),成都小程序開發(fā),網(wǎng)站開發(fā),技術(shù)開發(fā)實(shí)力,DIV+CSS,PHP及ASP,ASP.Net,SQL數(shù)據(jù)庫的技術(shù)開發(fā)工程師。

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

Docker容器常用命令的介紹與使用

Docker容器常用命令的介紹與使用


Dockerfile示例:

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

- 基礎(chǔ)鏡像

- 維護(hù)者信息

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

- 容器啟動(dòng)時(shí)執(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常用指令:

Docker容器常用命令的介紹與使用 


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

Docker容器常用命令的介紹與使用

docker-compose.yml示例:

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

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常用指令:

Docker容器常用命令的介紹與使用

Docker容器常用命令的介紹與使用

Docker容器常用命令的介紹與使用

Swarm集群部署常用命令:

Docker容器常用命令的介紹與使用


logs日志查看技巧

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

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

Docker容器常用命令的介紹與使用

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

Docker容器常用命令的介紹與使用

Docker容器常用命令的介紹與使用

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

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

Docker容器常用命令的介紹與使用

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

 Docker容器常用命令的介紹與使用

增加選項(xiàng)-v將顯示詳情:docker system df -v

 Docker容器常用命令的介紹與使用

使用技巧:運(yùn)行prune命令清理垃圾并釋放資源:

docker system prune --volumes

Docker容器常用命令的介紹與使用

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

Docker容器常用命令的介紹與使用

Docker容器常用命令的介紹與使用

實(shí)例1:Docker啟動(dòng)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 啟動(dòng)容器實(shí)例:執(zhí)行腳本./run.sh或命令:docker run -it --name nginx -p 80:80 -d nginx:latest

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

Docker容器常用命令的介紹與使用 

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

實(shí)例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ù)依賴的多個(gè)容器實(shí)例,數(shù)據(jù)庫、緩存、消息隊(duì)列、日志系統(tǒng)、API接口和Web管理后臺(tái):

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 啟動(dòng)Web服務(wù):執(zhí)行腳本./up.sh或命令:docker-compose up -d

l 查看運(yùn)行實(shí)例:docker-compose ps

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

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

Docker容器常用命令的介紹與使用 

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

實(shí)例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é)點(diǎn):

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

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

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

Docker容器常用命令的介紹與使用 

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

Docker容器常用命令的介紹與使用 

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

Docker容器常用命令的介紹與使用

以上就是Docker容器常用命令的介紹與使用,詳細(xì)使用情況還需要大家自己親自動(dòng)手使用過才能領(lǐng)會(huì)。如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁題目:Docker容器常用命令的介紹與使用
分享網(wǎng)址:http://bm7419.com/article10/igssdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司網(wǎng)站設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)網(wǎng)站策劃、靜態(tài)網(wǎng)站、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名