數(shù)字營(yíng)銷公司淘寶關(guān)鍵詞怎么優(yōu)化
docker 學(xué)習(xí)–02 常用命令
docker 學(xué)習(xí)-- 01 基礎(chǔ)知識(shí)
docker 學(xué)習(xí)-- 03 環(huán)境安裝(win10)
文章目錄
- docker 學(xué)習(xí)--02 常用命令
- 1. 幫助啟動(dòng)類命令
- 1.1啟動(dòng)docker
- 1.2 停止docker
- 1.3 重啟docker
- 1.4 查看docker
- 1.5 設(shè)置開機(jī)自啟
- 1.6 查看docker概要信息
- 1.7 查看docker總體幫助文檔
- 1.8 查看docker命令幫助文檔
- 2. 鏡像命令
- 2.1 列出本地主機(jī)上有的鏡像
- 2.2 查詢鏡像庫(kù)
- 2.3 從遠(yuǎn)程庫(kù)拉取鏡像
- 2.4 查看鏡像/容器/數(shù)據(jù)卷所占的空間(使用時(shí)注意自己是否有權(quán)限)
- 2.5 刪除本地鏡像
- 2.6 創(chuàng)建新的鏡像
- 2.7 通過(guò)Dcokerfile構(gòu)建鏡像
- 3容器命令
- 3.1 新建啟動(dòng)容器
- 3.2 查看容器 大小
- 3.3 退出容器
- 3.4 進(jìn)入正在運(yùn)行的容器并以命令行交互
- 3.5 啟動(dòng)已停止運(yùn)行的容器
- 3.6 重啟容器
- 3.7 停止容器
- 3.8 強(qiáng)制停止容器
- 3.9 刪除已停止的容器
- 3.10 查看容器日志
- 3.11 查看容器內(nèi)運(yùn)行的進(jìn)程
- 3.12 查看容器內(nèi)部細(xì)節(jié)
- 3.13 從容器內(nèi)拷貝文件到主機(jī)上
- 3.14 導(dǎo)入和導(dǎo)出容器
- 3.15 容器數(shù)據(jù)卷掛載 運(yùn)行一個(gè)帶有容器卷存儲(chǔ)功能的容器實(shí)例
- 3.16 容器數(shù)據(jù)卷繼承
- 3.17 查看容器資源占用情況
- 4 docker 網(wǎng)絡(luò)命令
- 4.1 查看網(wǎng)絡(luò)
- 4.2 創(chuàng)建網(wǎng)絡(luò)
- 4.3 查看網(wǎng)絡(luò)源數(shù)據(jù)
- 4.4 刪除網(wǎng)絡(luò)
- 5.Docker-compose容器 命令
- 其他鏈接
1. 幫助啟動(dòng)類命令
1.1啟動(dòng)docker
systemctl start docker
1.2 停止docker
systemctl stop docker
1.3 重啟docker
systemctl restart docker
1.4 查看docker
systemctl status docker
1.5 設(shè)置開機(jī)自啟
systemctl enable docker
1.6 查看docker概要信息
docker info
1.7 查看docker總體幫助文檔
docker --help
1.8 查看docker命令幫助文檔
docker 命令 --helpexample:
docker run --help
2. 鏡像命令
2.1 列出本地主機(jī)上有的鏡像
docker images [OPTIONS]常用參數(shù):
-a :列出所有的鏡像 (含歷史映像層)
-q :只顯示鏡像IDexample:
docker images -a
docker images -q
docker images -aq
docker images php #查找鏡像名為php的鏡像
//REPOSITORY:表示鏡像的倉(cāng)庫(kù)源
//TAG:鏡像的標(biāo)簽版本號(hào)
//IMAGE ID:鏡像ID
//CREATED:鏡像創(chuàng)建時(shí)間
//SIZE:鏡像大小
2.2 查詢鏡像庫(kù)
docker search [OPTIONS] 鏡像名字常用參數(shù):
--limit nu #只輸出查到的前nu條記錄example:
docker search php
docker search --limit 10 php
//NAME:鏡像名稱
//DISCRIPTION:鏡像說(shuō)明
//STARTS:點(diǎn)贊數(shù)
//OFFICAL:是否是官方認(rèn)可的
//AUTOMATED:是否自動(dòng)構(gòu)建
2.3 從遠(yuǎn)程庫(kù)拉取鏡像
docker pull 鏡像名字[:TAG]example:
docker pull php:7.2
docker pull php # 沒(méi)有指定版本即拉取最新版
2.4 查看鏡像/容器/數(shù)據(jù)卷所占的空間(使用時(shí)注意自己是否有權(quán)限)
//檢查Docker鏡像的磁盤空間
docker system df
//查該命令將顯示所有正在運(yùn)行的Docker容器的磁盤使用情況
docker ps -s
//檢查Docker容器的詳細(xì)磁盤使用情況
//該命令將顯示指定Docker容器的詳細(xì)磁盤使用情況,包括容器的各個(gè)層的大小。
docker inspect | grep -i "size"
2.5 刪除本地鏡像
//刪除單個(gè)
docker rmi 鏡像ID #刪除鏡像,如果此時(shí)鏡像上面有容器正在運(yùn)行,會(huì)報(bào)錯(cuò)無(wú)法刪除
docker rmi -f 鏡像ID #強(qiáng)制(forced)刪除鏡像
//刪除多個(gè)
docker rmi -f 鏡像名1:TAG 鏡像名2:TAG
//刪除全部(慎用)
docker rmi -f $(docker images -qa)
#首先docker images -qa會(huì)列舉本地所有的鏡像的ID,然后作為一個(gè)集合送入rmi一個(gè)個(gè)刪除
2.6 創(chuàng)建新的鏡像
docker commit -m="提交的描述信息" -a="作者" 容器ID 要?jiǎng)?chuàng)建的目標(biāo)鏡像名:[標(biāo)簽名]
2.7 通過(guò)Dcokerfile構(gòu)建鏡像
Dockerfile是使用Docker構(gòu)建鏡像的一種常見(jiàn)方式,它是一個(gè)文本文件,包含了構(gòu)建鏡像所需的命令和指令 格式如下
//Docker?le常見(jiàn)命令:
//FROM image_name:tag 聲明基礎(chǔ)鏡像
//MAINTAINER user_name 聲明鏡像的作者
//ENV key value 設(shè)置環(huán)境變量 (可以寫多條)
//RUN command 編譯鏡像時(shí)運(yùn)行的腳本(可以寫多條)
//CMD 設(shè)置容器的啟動(dòng)命令
//ENTRYPOINT 設(shè)置容器的入口程序
//ADD source_dir/?le dest_dir/?le 將宿主機(jī)的文件復(fù)制到鏡像內(nèi),如果是一個(gè)壓縮文件,將會(huì)在復(fù)制后自動(dòng)解壓。支持URL路徑下載源文件,但下載方式不能自動(dòng)解壓。
//COPY source_dir/?le dest_dir/?le 和ADD相似,將宿主機(jī)的文件復(fù)制到鏡像內(nèi),但是如果有壓縮文件并不能解壓。不支持URL路徑下載。
//WORKDIR path_dir 設(shè)置工作目錄
//ARG 設(shè)置編譯鏡像時(shí)加入的參數(shù)
//VOLUMN 設(shè)置容器的掛載卷//示例 #(1)建立工作目錄mkdir /opt/apachecd /opt/apache?#(2)準(zhǔn)備Dockerfile文件vim Dockerfile#基于的基礎(chǔ)鏡像FROM centos:7#維護(hù)鏡像的用戶信息MAINTAINER this is apache image <zy>#鏡像操作指令安裝apache軟件RUN yum -y install httpd#開啟80端口EXPOSE 80#復(fù)制網(wǎng)站首頁(yè)文件ADD index.html /var/www/html/#指定啟動(dòng)容器時(shí)第一個(gè)運(yùn)行的命令,前臺(tái)運(yùn)行apache//方法一:#將執(zhí)行腳本復(fù)制到鏡像中ADD run.sh /run.shRUN chmod 755 /run.sh#啟動(dòng)容器時(shí)執(zhí)行腳本CMD ["/run.sh"]?//方法二:ENTRYPOINT ["/usr/sbin/apachectl"]CMD ["-D", "FOREGROUND"] #FOREGROUND前臺(tái)運(yùn)行#默認(rèn)情況下apache是在后臺(tái)運(yùn)行需要-D指定FOREGROUND表示前臺(tái)運(yùn)行否則執(zhí)行完第一條命令會(huì)停止鏡像??#(3)準(zhǔn)備執(zhí)行腳本。使用方法一的情況下需要準(zhǔn)備執(zhí)行腳本,使用方法二可跳過(guò)此步驟。vim run.sh#!/bin/bash#清理httpd的緩存rm -rf /run/httpd/*#指定為前臺(tái)運(yùn)行/usr/sbin/apachectl -D FOREGROUND#因?yàn)镈ocker容器僅在它的1號(hào)進(jìn)程(PID為1)運(yùn)行時(shí),會(huì)保持運(yùn)行。如果1號(hào)進(jìn)程退出了,Docker容器也就退出了。?#(4)準(zhǔn)備網(wǎng)站頁(yè)面echo "this is apache web" > index.html?#(5)生成鏡像(構(gòu)建鏡像)docker build -t httpd:centos . #注意別忘了末尾有"."?#(6)使用新鏡像運(yùn)行容器docker run -d -p 6666:80 httpd:centos #指定映射端口1314?#使用宿主機(jī)IP和1314端口,測(cè)試網(wǎng)頁(yè)訪問(wèn)http://IP:6666/
3容器命令
3.1 新建啟動(dòng)容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]常用參數(shù):
--name=NAME #為容器指定名字為NAME,不使用的話系統(tǒng)自動(dòng)為容器命名
-d: 后臺(tái)運(yùn)行容器并返回容器ID,也即啟動(dòng)守護(hù)式容器(后臺(tái)運(yùn)行);-i:以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用;
-t:為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用;
也即啟動(dòng)交互式容器(前臺(tái)有偽終端,等待交互,一般連用,即-it);-P: 隨機(jī)端口映射,大寫P
-p: 指定端口映射,小寫pexample:以u(píng)buntu為例,啟動(dòng)后要交互先聲明交互模式,其次交互得需要一個(gè)終端,因此參數(shù)為-it
docker run -it ubuntu /bin/bash指定名稱
docker run -it --name=myubuntu ubuntu /bin/bash
3.2 查看容器 大小
docker ps [OPTIONS]常用參數(shù):
-a :列出當(dāng)前所有正在運(yùn)行的容器+歷史上運(yùn)行過(guò)的
-l :顯示最近創(chuàng)建的容器。
-n nu:顯示最近nu個(gè)創(chuàng)建的容器。
-q :靜默模式,只顯示容器編號(hào)
3.3 退出容器
//1.run進(jìn)去容器,exit退出,容器停止
exit
//2.run進(jìn)去容器,ctrl+p+q退出,容器不停止
3.4 進(jìn)入正在運(yùn)行的容器并以命令行交互
//exec 是在容器中打開新的終端,并且可以啟動(dòng)新的進(jìn)程。用exit退出,不會(huì)導(dǎo)致容器的停止。
//attach 直接進(jìn)入容器啟動(dòng)命令的終端,不會(huì)啟動(dòng)新的進(jìn)程。用exit退出,會(huì)導(dǎo)致容器的停止。
docker exec -it 容器ID/容器名稱 bashShell
docker attach 容器ID
3.5 啟動(dòng)已停止運(yùn)行的容器
docker start 容器ID或者容器名
3.6 重啟容器
docker restart 容器ID或者容器名
3.7 停止容器
docker stop 容器ID或者容器名
3.8 強(qiáng)制停止容器
docker kill 容器ID或容器名
3.9 刪除已停止的容器
#刪除一個(gè)
docker rm 容器ID
docker rm -f 容器ID #強(qiáng)制刪除#刪除多個(gè)
docker rm -f $(docker ps -a -q)
或
docker ps -a -q | xargs docker rm
3.10 查看容器日志
docker logs 容器ID
3.11 查看容器內(nèi)運(yùn)行的進(jìn)程
docker top 容器ID
3.12 查看容器內(nèi)部細(xì)節(jié)
docker inspect 容器ID
3.13 從容器內(nèi)拷貝文件到主機(jī)上
docker cp 容器ID:容器內(nèi)路徑 目的主機(jī)路徑
3.14 導(dǎo)入和導(dǎo)出容器
docker export 容器ID > 文件名.tar
cat 文件名.tar | docker import - 鏡像用戶/鏡像名:鏡像版本號(hào)
3.15 容器數(shù)據(jù)卷掛載 運(yùn)行一個(gè)帶有容器卷存儲(chǔ)功能的容器實(shí)例
docker run -it --privileged=true -v /宿主機(jī)絕對(duì)路徑目錄:/容器內(nèi)目錄:[OPTION] 鏡像名OPTION:
rw 可讀可寫(read + write)
ro 容器實(shí)例內(nèi)部被限制,只能讀取不能寫,僅讀(read only)
3.16 容器數(shù)據(jù)卷繼承
docker run -it --privileged=true --volumes-from 父類 --name u2 ubuntuexample:
# 新創(chuàng)建u3容器繼承u2容器的數(shù)據(jù)卷掛載,此時(shí)u2就算stop也不影響u3
docker run -it --privileged=true --volumes-from u2 --name u3 ubuntu
3.17 查看容器資源占用情況
docker stats [OPTIONS] [CONTAINER...]OPTIONS:
--all , -a :顯示所有的容器,包括未運(yùn)行的。
--format :指定返回值的模板文件。
--no-stream :展示當(dāng)前狀態(tài)就直接退出了,不再實(shí)時(shí)更新。
--no-trunc :不截?cái)噍敵觥?example:
docker stats
docker stats mynginx # 容器名
docker stats af7928654200 # 容器ID//CONTAINER ID 與 NAME: 容器 ID 與名稱。
//CPU % 與 MEM %: 容器使用的 CPU 和內(nèi)存的百分比。
//MEM USAGE / LIMIT: 容器正在使用的總內(nèi)存,以及允許使用的內(nèi)存總量。
//NET I/O: 容器通過(guò)其網(wǎng)絡(luò)接口發(fā)送和接收的數(shù)據(jù)量。
//BLOCK I/O: 容器從主機(jī)上的塊設(shè)備讀取和寫入的數(shù)據(jù)量。
//PIDs: 容器創(chuàng)建的進(jìn)程或線程數(shù)。
4 docker 網(wǎng)絡(luò)命令
4.1 查看網(wǎng)絡(luò)
docker network ls
4.2 創(chuàng)建網(wǎng)絡(luò)
docker network create xxx網(wǎng)絡(luò)名字
4.3 查看網(wǎng)絡(luò)源數(shù)據(jù)
docker network inspect XXX網(wǎng)絡(luò)名字
4.4 刪除網(wǎng)絡(luò)
docker network rm XXX網(wǎng)絡(luò)名字
5.Docker-compose容器 命令
docker-compose -h # 查看幫助
docker-compose up # 啟動(dòng)所有docker-compose服務(wù)
docker-compose up -d # 啟動(dòng)所有docker-compose服務(wù)并后臺(tái)運(yùn)行
docker-compose down # 停止并刪除容器、網(wǎng)絡(luò)、卷、鏡像。
docker-compose exec yml里面的服務(wù)id # 進(jìn)入容器實(shí)例內(nèi)部
docker-compose exec docker-compose.yml文件中寫的服務(wù)id /bin/bash
docker-compose ps # 展示當(dāng)前docker-compose編排過(guò)的運(yùn)行的所有容器
docker-compose top # 展示當(dāng)前docker-compose編排過(guò)的容器進(jìn)程docker-compose logs yml里面的服務(wù)id # 查看容器輸出日志
docker-compose config # 檢查配置
docker-compose config -q # 檢查配置,有問(wèn)題才有輸出
docker-compose restart # 重啟服務(wù)
docker-compose start # 啟動(dòng)服務(wù)
docker-compose stop # 停止服務(wù)
其他鏈接
docker 學(xué)習(xí)-- 01 基礎(chǔ)知識(shí)
docker 學(xué)習(xí)-- 03 環(huán)境安裝(win10)