今天小編給大家分享的是Docker容器常用命令的介紹與使用,文章詳細(xì)列出Docker常用命令并運(yùn)用了實(shí)例展示了命令的使用方法,感興趣的小伙伴們可以參考借鑒,希望對(duì)大家有所幫助。
成都創(chuàng)新互聯(lián)公司專(zhuān)業(yè)為企業(yè)提供禹會(huì)網(wǎng)站建設(shè)、禹會(huì)做網(wǎng)站、禹會(huì)網(wǎng)站設(shè)計(jì)、禹會(huì)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、禹會(huì)企業(yè)網(wǎng)站模板建站服務(wù),10年禹會(huì)做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。Docker常用命令:鏡像、容器、網(wǎng)絡(luò)、數(shù)據(jù)卷
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-compose資源編排常用命令:
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常用指令:
Swarm集群部署常用命令:
logs日志查看技巧
日志在系統(tǒng)運(yùn)行中至關(guān)重要,開(kāi)發(fā)測(cè)試以及運(yùn)維通過(guò)系統(tǒng)日志分析查找故障原因。logs命令結(jié)合grep格式化日志信息:
docker-compose logs -ft | grep --color -i -e error -e warn -e version -e exception
Docker三劍客logs命令整理如下:
Docker prune清理系統(tǒng)垃圾
Docker基于Linux內(nèi)核通過(guò)操作系統(tǒng)和虛擬容器調(diào)用CGroup, Namespace等系統(tǒng)接口完成資源的分配與相互隔離,基本架構(gòu)如下:
Docker依賴(lài)系統(tǒng)資源運(yùn)行,分配回收過(guò)程中會(huì)產(chǎn)生一些垃圾,比如docker stop容器后沒(méi)有執(zhí)行docker rm刪除。運(yùn)行docker system df查看資源信息,RECLAIMABLE是可回收比例:
增加選項(xiàng)-v將顯示詳情:docker system df -v
使用技巧:運(yùn)行prune命令清理垃圾并釋放資源:
docker system prune --volumes
Docker提供的prune命令整理如下:
實(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)頁(yè)和配置文件:
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 訪問(wèn)http://localhost:80/,看到頁(yè)面:
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ù)依賴(lài)的多個(gè)容器實(shí)例,數(shù)據(jù)庫(kù)、緩存、消息隊(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 訪問(wèn)http://127.0.0.1:8010/,看到頁(yè)面:
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
l 查看Stack和服務(wù):docker stack ls && docker service ls
l 停止刪除服務(wù):執(zhí)行腳本./rm.sh或命令:docker stack rm starter
以上就是Docker容器常用命令的介紹與使用,詳細(xì)使用情況還需要大家自己親自動(dòng)手使用過(guò)才能領(lǐng)會(huì)。如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
本文題目:Docker容器常用命令的介紹與使用-創(chuàng)新互聯(lián)
文章鏈接:http://jinyejixie.com/article4/deoeie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)、響應(yīng)式網(wǎng)站、網(wǎng)站導(dǎo)航、網(wǎng)站營(yíng)銷(xiāo)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容