docker命令

如果運(yùn)行的服務(wù)在docker中運(yùn)行,想要訪問的話要進(jìn)入容器中,然后才能訪問

容器相當(dāng)于是鏡像實(shí)例化出來的對象【相互關(guān)系解釋】

各容器通過服務(wù)器內(nèi)網(wǎng)ip進(jìn)行互相溝通

命令 效果
docker images 查看docker中所有鏡像/可加 -f 使用過濾器/可加 -q 只輸出鏡像ID
docker images 鏡像名 查看docker中所有指定名字的鏡像
docker images 鏡像名:tag名 查看docker中所有指定名字和tag的鏡像
docker save 鏡像名:鏡像版本號 -o 鏡像文件名 保存docker中的鏡像文件到文件目錄
docker rmi 鏡像ID 從系統(tǒng)docker中移除指定鏡像
docker load --input 鏡像壓縮包名.tar 加載鏡像壓縮包中的鏡像到系統(tǒng)docker
docker load < 鏡像壓縮包名.tar 加載鏡像壓縮包中的鏡像到系統(tǒng)docker,與上一條等價
docker ps 看docker中所有還在跑的容器
docker ps -a 看docker中所有容器,包括已經(jīng)死了的
docker logs -f 容器ID 查看指定容器的日志
docker logs 容器名 > log.txt 將docker日志保存到本地文件
docker rm -f 容器ID 從系統(tǒng)docker中移除指定容器
docker exec -it 容器ID /bin/bash 進(jìn)入指定容器,并且進(jìn)入bash【命令行工具】
docker system df 查看Docker的磁盤使用情況
docker system prune 清理磁盤,刪除關(guān)閉的容器、無用的數(shù)據(jù)卷和網(wǎng)絡(luò),以及dangling鏡像(即無tag的鏡像)
docker system prune -a 清理得更加徹底,可以將沒有容器使用Docker鏡像都刪掉。注意,這個命令會把你暫時關(guān)閉的容器,以及暫時沒有用到的Docker鏡像都刪掉。所以使用之前一定要想清楚
docker run -p 宿主機(jī)端口:容器里面的端口 --restart-always -d -v 宿主機(jī)絕對路徑:容器里面的路徑/opt/kvp 鏡像名 用指定鏡像起一個帶守護(hù)進(jìn)程的容器
docker run -p 宿主機(jī)端口:容器里面的端口 -d --env-file=配置文件 鏡像名 在跑容器時加載指定配置文件中的環(huán)境變量
docker system df 查看鏡像、容器、數(shù)據(jù)卷所占用的空間
docker image ls -f dangling=true 查看沒有鏡像名的虛懸鏡像
docker image prune 刪除虛懸鏡像
free -h 查看機(jī)器的內(nèi)存配置
docker container start 將一個已經(jīng)終止的容器啟動運(yùn)行
docker container ls 展示在跑的所有容器
docker container ls -a 展示所有容器,包括已經(jīng)終止的
docker container stop 中止一個運(yùn)行中的容器
docker container restart 將一個運(yùn)行中的容器終止,后重新啟動
docker container rm 刪除一個終止的容器
docker container rm -f 刪除一個容器,無所謂此容器是否終止
docker container prune 刪除所有處于終止?fàn)顟B(tài)的容器
docker export 容器id > 文件名 保存一個容器的快照
cat 文件名 | docker import - 容器名:tag 從文件中加載一個容器快照,同時設(shè)定容器名和tag
docker search 鏡像名 查找官方倉庫中的鏡像
docker pull 鏡像名 拉取指定鏡像
docker inspect 容器名 查看容器信息

跑容器時的參數(shù)及意義

命令 效果
--restart="always" 自動持久化,死了自動拉起來
-p 宿主機(jī)端口:容器里面的端口 設(shè)置端口映射關(guān)系,可多次使用映射多個端口
-d 跑起來以后不打印鏡像日志/類似于nohup跑
-v 宿主機(jī)絕對路徑:容器里面的絕對路徑 文件目錄掛載,將宿主機(jī)里的目錄掛載進(jìn)容器的指定目錄中,可用此實(shí)現(xiàn)文件存儲路徑的掛載和配置文件的掛載/可以掛載目錄也可以掛載具體的文件
-v 數(shù)據(jù)卷名稱:容器里面的絕對路徑 將數(shù)據(jù)卷掛載到容器的指定目錄
--mount type=bind,source=宿主機(jī)絕對路徑,target=容器里面的絕對路徑 將宿主機(jī)里的目錄掛載進(jìn)容器的指定目錄中,與-v的區(qū)別是如果宿主機(jī)路徑不存在,--mount不會自動創(chuàng)建
--mount source=數(shù)據(jù)卷名稱,target=容器里面的絕對路徑 將數(shù)據(jù)卷掛載到容器的指定目錄
--env-file=環(huán)境變量文件 在跑鏡像的時候手動加載環(huán)境變量文件,這樣加載的環(huán)境變量會成為優(yōu)先配置
--rm 容器退出后隨即刪除,一般用于測試
-i 交互式操作
-t 終端
-it 鏡像名/容器名 bash 一般這么用,表示進(jìn)入容器的bash界面

dockerfile指令

指令 效果
RUN Linux指令 在鏡像中執(zhí)行目標(biāo)指令
COPY 本地路徑 鏡像內(nèi)目標(biāo)路徑 將本地路徑拷貝到鏡像內(nèi)的目標(biāo)路徑,本地路徑可以指向具體文件也可以指向目錄【如conf/*】
ADD 本地路徑 鏡像內(nèi)目標(biāo)路徑 基本和COPY一致,當(dāng)本地路徑指向一個tar壓縮文件時,ADD指令會自動將其解壓后再放入鏡像
CMD Linux指令 在鏡像中執(zhí)行目標(biāo)指令,此用法與RUN無異
CMD ["可執(zhí)行文件", "參數(shù)1", "參數(shù)2"...] 在鏡像中執(zhí)行指定的可執(zhí)行文件,并帶上相應(yīng)參數(shù),一般用于指定默認(rèn)的容器主進(jìn)程的啟動命令
ENTRYPOINT 與以上CMD的兩種使用方法無異,但如果有ENTRYPOINT時,CMD將會變?yōu)榻oENTRYPOINT傳參,執(zhí)行語句為 <ENTRYPOINT> "<CMD>"
ENV key value 聲明環(huán)境變量,聲明后可用$key調(diào)用環(huán)境變量,容器運(yùn)行時也可以使用此環(huán)境變量
ENV key=value 聲明環(huán)境變量,聲明后可用$key調(diào)用環(huán)境變量,容器運(yùn)行時也可以使用此環(huán)境變量
ARG 用法同ENV,但在容器運(yùn)行時是無法使用ARG定義的環(huán)境變量的
VOLUME 目錄 指定目錄掛載為匿名卷,這樣在運(yùn)行時沒有指定掛載卷也不會報錯
EXPOSE 端口 聲明運(yùn)行時容器提供服務(wù)端口,僅為聲明,并不會真的做什么操作
WORKDIR 工作目錄路徑 指定之后的工作目錄,在流程中相當(dāng)于cd/如果目標(biāo)目錄不存在則會自動創(chuàng)建
USER 用戶名 指定之后執(zhí)行命令的用戶身份
HEALTHCHECK [選項(xiàng)] CMD <命令> 設(shè)置檢查容器健康狀況的命令
HEALTHCHECK NONE 如果基礎(chǔ)鏡像有健康檢查指令,使用這行可以屏蔽掉其健康檢查指令
ONBUILD 其它指令 在當(dāng)前鏡像構(gòu)建時并不會被執(zhí)行,以當(dāng)前鏡像為基礎(chǔ)鏡像,去構(gòu)建下一級鏡像的時候才會被執(zhí)行

數(shù)據(jù)管理

指令 效果
docker volume create 數(shù)據(jù)卷名稱 創(chuàng)建數(shù)據(jù)卷
docker volume ls 查看所有數(shù)據(jù)卷
docker volume inspect 數(shù)據(jù)卷名稱 查看指定數(shù)據(jù)卷信息
docker volume rm 數(shù)據(jù)卷名稱 刪除數(shù)據(jù)卷
docker volume prune 刪除所有無主的數(shù)據(jù)卷【容器終止時數(shù)據(jù)卷不會被刪除
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 列出docker鏡像 docker image ls docker images docker image ls ...
    daqiaowijiu閱讀 1,111評論 0 7
  • 一、鏡像 1、獲取鏡像 #docker pull NAME[:TAG] 默認(rèn)會選擇latest標(biāo)簽,及下載倉庫中...
    天夭夭閱讀 1,014評論 0 0
  • 一、基本命令:查看鏡像:docker images搜索鏡像:docker search mysql:5.7.0 (...
    北山北_d41c閱讀 5,108評論 0 5
  • 1. 鏡像倉庫 1.1 docker search [OPTIONS] TERM // 搜索鏡像 1.2 dock...
    xzz4632閱讀 3,431評論 0 2
  • docker 網(wǎng)絡(luò)鏡像地址https://hub.docker.com/explore/ 1.列出本機(jī)image文...
    smallThree1閱讀 581評論 1 0

友情鏈接更多精彩內(nèi)容