Docker 常用命令整合!!!带你一起理解和复习每个操作命令!!!带操作图,不会也能看懂的!!
本文整理出在Docker中常用的命令,一是可以做一個備忘錄的作用,二是也可以作為一個復習的文章。
Docker鏡像、容器、日志等等相關命令都涵蓋在內,文內帶有操作圖,不難的哦。
很喜歡一句話:“八小時內謀生活,八小時外謀發展。”
共勉
地點:湖南邵陽
作者:博主
一、Docker 相關命令
查看Docker 版本號
docker --version查看Docker 相關信息
docker info查看Docker幫助命令
docker --help可以查看到所有Docker 命令,不過對英語不太好的同學不太友善哈。🙃~~(我也是)~~
二、Docker鏡像相關命令
2.1、鏡像查看
-
列出本地鏡像
1、查看全部鏡像
docker images2、查看全部鏡像含中間映像層
docker images -a3、其他
docker images -q #僅顯示鏡像id docker history -H imageserver #顯示指定鏡像的歷史創建;參數:-H 鏡像大小和日期 imageserver 我自己做的一個鏡像
2.2、鏡像搜索
搜索MySQL的鏡像
docker search mysql #帶上版本號搜索 docker search mysql:5.7 #docker search <鏡像名>:<版本號>-**-filter=stars:**只顯示 starts>=600 的鏡像
docker search --filter=stars=600 mysql–automated :只列出 AUTOMATED=OK 的鏡像
docker search --automated mysql2.3、鏡像下載
下載最新官方鏡像(此處以下載redis 做例子)
docker pull redis #不指定版本號時,默認拉取最新版本 即latest docker pull redis:5.0.7# 指定版本號 即加一個引號 后說明版本號即可。下載倉庫所有Redis鏡像
docker pull -a redis下載網上公開的倉庫鏡像
docker pull bitnami/redis #即別人制作的公開放到網上的鏡像2.4、鏡像刪除
刪除單個鏡像
注意:(不強制刪除,必須先刪除此鏡像相關的容器,才能刪除此鏡像)
##相當于:docker rmi redis:latest docker rmi redis強制刪除(即有運行的容器,也強行刪除,但并不會刪除正在運行的容器[已親測])
##強制刪除(針對基于鏡像有運行的容器進程) docker rmi -f redis批量刪除(不同鏡像之間用空格間隔)
docker rmi -f redis mysql nginx刪除本地全部鏡像
docker rmi -f $(docker images -q) #$() 可以簡單理解為sql 語句中嵌套語句2.5、鏡像構建
此處只做一個最簡單的例子,一句兩句說不清。牽扯Dockerfile文件書寫。
(1) 編寫我們的Dockerfile文件
from centos:latestENV mypath /usr WORKDIR $mypathRUN yum -y install vim RUN yum -y install net-toolsEXPOSE 80CMD /bin/bash(2) 構建鏡像
docker build -f /myDocker/Dockerfile2 -t mycentos:1.3 #如果 dockerfile文件在當前目錄 命令可簡寫為 docker build -t mycentos:1.3 .解釋:
1、docker build 為docker中鏡像構建命令
2、-f :指明dockerfile文件的路徑
3、-t :指定鏡像生成名字 版本號為可選。
4、. 最后的小數點意思是在當前目錄下, 即Dockerfile所在目錄
三、Docker 容器相關命令
3.1、查看容器
1、查看正在運行的容器
docker ps2、查看正在運行的容器的ID
docker ps -q3、查看正在運行+歷史運行過的容器
docker ps -a4、獲取正在運行的容器redis的 IP
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' redis5、查看容器元信息(此處以redis舉例)
docker inspect myredis #myredis 是我的redis 容器名在啟動集群的時候比較有效,單機的話就~~。
3.2、啟動容器
啟動暫停的容器
docker start <容器名||容器id>重啟容器
docker restart redis #<容器名||容器id>此處以啟動redis容器舉例
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /home/redis/myredis/myredis.conf:/etc/redis/redis.conf -v /home/redis/myredis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 000415–restart=always 總是開機啟動
–log是日志方面的
-p 6379:6379 將6379端口掛載出去
–name:給這個容器取一個名字
-v 數據卷掛載
- /home/redis/myredis/myredis.conf:/etc/redis/redis.conf 這里是將 liunx 路徑下的myredis.conf 和redis下的redis.conf 掛載在一起。
- /home/redis/myredis/data:/data 這個同上
-d redis 表示后臺啟動redis
redis-server /etc/redis/redis.conf 以配置文件啟動redis,加載容器內的conf文件,最終找到的是掛載的目錄 /etc/redis/redis.conf 也就是liunx下的/home/redis/myredis/myredis.conf
–appendonly yes 開啟redis 持久化
–requirepass 000415 設置密碼 (如果你是通過docker 容器內部連接的話,就隨意,可設可不設。但是如果想向外開放的話,一定要設置,我被搞過,可以看這篇文章“阿里云服務器中毒‘Kirito666’經歷”)
成功界面
3.3、容器進程
##top支持 ps 命令參數,格式: docker top [OPTIONS] CONTAINER [ps OPTIONS] ##列出redis容器中運行進程 docker top redis ##查看所有運行容器的進程信息3.4、容器的停止和刪除
停止一個運行中的容器
docker stop myredis #stop 后 跟容器名或容器id 都可以殺掉一個運行中的容器
docker kill myredis #同上刪除一個已停止的容器
docker rm myreis #同上刪除一個運行時的容器
docker rm -f myredis #同上刪除全部容器
docker rm -f $(docker ps -a -q) #$() 你可以理解sql 語句中的嵌套語句四、Docker 查看運行日志
基本格式:docker logs [OPTIONS] CONTAINER
OPTIONS:可帶參數 見下圖。
- –details 顯示更多的信息
- -f, --follow 跟蹤實時日志
- –since string 顯示自某個timestamp之后的日志,或相對時間,如30m(即30分鐘)
- –tail string 從日志末尾顯示多少行日志, 默認是all
- -t, --timestamps 顯示時間戳
- –until string 顯示自某個timestamp之前的日志,或相對時間,如30m(即30分鐘)
舉例:
4.1、查看此容器全部運行日志:
docker logs <容器id>4.2、查看日志,只顯示最后200行
docker logs --tail 200 CONTAINER_ID4.3、查看最近30分鐘的日志
docker logs --since 30m CONTAINER_ID4.4、查看某時間之后的日志
dockere logs -t --since "2021-07-31T10:35:10" d0e #d0e是我的容器id4.5、查看某時間段之間的日志
docker logs -t --since "2021-07-31T10:35:10" --until "2021-07-31T10:36:10" CONTAINER_ID五、自言自語
又是繼續內卷的一天啊,昨天看群聊,里面的大佬凌晨了還在討論問題,講真,我有點怕啦。這還邀不要人睡啦啊。?😇
一起 共勉 or🛌。(我還是覺得🛌更爽啊,唉,不過不能選啊)
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Docker 常用命令整合!!!带你一起理解和复习每个操作命令!!!带操作图,不会也能看懂的!!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot集成MybatisP
- 下一篇: 这次让我们从字节码文件来重新认识Stri