Docker常用命令


一、Docker 幫助指令

1. 幫助命令

  • 功能:幫助命令
  • 用法
  # docker version				#顯示docker的版本信息
  # docker info					#顯示docker的系統信息,包括鏡像和容器的數量
  # docker --help				#顯示幫助信息

二、Docker 鏡像指令

1. 查看鏡像

  • 指令 docker images
  • 功能:查看所有的鏡像
  • 用法
  # docker images
  # 可選項
	-a, --all		# 列出所有的鏡像
	-q, --quiet		# 只顯示鏡像的id
  • 案例

    名稱 含義
    REPOSITORY 鏡像的倉庫源
    TAG 鏡像的標簽
    IMAGE ID 鏡像的id
    CREATED 鏡像的創建時間
    SIZE 鏡像的大小

2. 搜索鏡像

  • 指令 docker search
  • 功能:搜索鏡像
  • 用法
  # docker search 搜索鏡像
  # 可選項,通過搜素過濾
	--filter=STARS=3000		# 搜索鏡像的STARS值均大於3000

3. 下載鏡像

  • 指令 docker pull
  • 功能:下載鏡像
  • 用法
  # docker pull 鏡像名[:tag]
  # 如果不寫 tag,默認下載的是latest
  • 案例

    注意: docker pull mysql 等同於 docker pull docker.io/library/mysql:latest; 指定版本下載時,要和官網搜索的版本一致,如下圖所示

4. 刪除鏡像

  • 指令 docker rmi
  • 功能:刪除鏡像
  • 用法
  # docker rmi -f 鏡像id                      # 刪除指定鏡像
  # docker rmi -f 鏡像id 鏡像id 鏡像id         # 刪除多個鏡像
  # docker rmi -f $(docker images -aq)        # 刪除所有鏡像
  • 案例

三、Docker 容器命令

1. 運行容器

  • 指令 docker run
  • 功能:運行容器
  • 用法
  # docker run [可選參數] image
  --name="Name"		容器名字 如tomcat01、tomcat02、tomcat03, 用來區分容器
  -d				后台運行方式
  -it				使用交互方式運行,進入容器查看內容
  -p				指定容器的端口 主要有四種運行模式,如:
								-p 		ip:主機端口:容器端口
								-p 		主機端口:容器端口 (常用)
								-p 		容器端口
								容器端口
  -P				隨機端口	
  -e                            環境配置
  -v                            卷掛載

  • 案例

2. 退出容器

  • 指令 exit
  • 功能:退出容器
  • 用法
  # exit			# 停止容器並退出
  # Ctrl + P + Q	# 容器不停止退出
  • 案例

3. 查看運行容器

  • 指令 docker ps
  • 功能:列出所有的運行容器
  • 用法
  # docker ps 
  		# 列出當前正在運行的容器
  -a		# 列出當前正在運行的容器+歷史運行過的容器
  -n=?	        # 顯示最近創建的容器
  -q		# 只顯示容器的編號
  • 案例

4. 刪除容器

  • 指令 docker rm
  • 功能:刪除容器
  • 用法
  # docker rm 容器id				# 刪除指定的容器,不能刪除正在運行的容器,如果要強制刪除使用rm -f
  # docker rm -f $(docker ps -aq)	        # 刪除所有容器
  # docker ps -a -q|xargs docker rm	        # 刪除所有容器
  • 案例

5. 啟動和停止容器

  • 功能:啟動和停止容器
  • 用法
  # docker start 容器id			# 啟動容器
  # docker restart 容器id		# 重啟容器
  # docker stop 容器id			# 停止當前正在運行的容器
  # docker kill 容器id			# 強制停止當前容器

四、Docker 其他命令

1. 后台啟動容器

  • 指令 docker run
  • 功能:后台啟動容器
  • 用法
  # 命令 docker run -d 鏡像名
  • 案例

    注意: docker ps,發現 ubuntu停止了,這是一個常見的坑。docke 容器使用后台運行時,需要有一個前台進程,docker發現沒有應用,就會自動停止,比如nginx容器啟動后,發現自己沒有提供服務,便會立即停止。

2. 查看日志

  • 指令 docker logs
  • 功能:后台啟動容器
  • 用法
  # docker logs -tf 容器id		# 沒有發現日志
    -tf					# 顯示所有日志
    --tail number			# 指定顯示日志的數量
    # 遇到沒有日志輸出的容器運行時,通過日志指令無法觀察現象,所以需要在容器中編譯一個打印日志的程序
    # docker run -d ubuntu /bin/sh -c "while true;do echo test;sleep 1;done"
  • 案例

3. 查看容器中進程信息

  • 指令 docker top
  • 功能:查看容器中進程信息
  • 用法
  # docker top 容器id
  • 案例

4. 查看鏡像的元數據

  • 指令 docker inspect
  • 功能:查看鏡像的元數據
  • 用法
  # docker inspect 容器id
  • 案例

5. 進入當前正在運行的容器

  • 指令 docker execdocker attach
  • 功能:進入當前正在運行的容器
  • 用法
  # docker exec -it 容器id bashShell		# 進入容器后開啟一個新的終端,可以進行常規操作
  # docker attach 容器id			# 進入容器正在執行的終端,不會開啟新的進程。

  • 案例

6. 從容器內拷貝文件到主機上

  • 指令 docker cp
  • 功能:從容器內拷貝文件到主機上
  • 用法
  # docker cp 容器id:容器內路徑 目的主機的路徑
  • 案例

    注意: 拷貝是一個手動過程,未來我們可以使用 -v 卷的技術,可以實現和主機同步

7. 從容器創建一個新的鏡像

  • 指令 docker commit
  • 功能:從容器創建一個新的鏡像
  • 用法
  # docker commit 容器id 鏡像名稱:版本號
  # -a          # 提交的鏡像作者
  # -c          # 使用Dockerfile指令來創建鏡像
  # -m          # 提交時的說明文字
  # -p          # 在commit時,將容器暫停
  • 案例

8. 數據卷

  • 指令 docker volume
  • 功能: 管理卷
  • 用法
# docker volume create edc-nginx-vol // 創建一個自定義容器卷
# docker volume ls // 查看所有容器卷
# docker volume inspect edc-nginx-vol // 查看指定容器卷詳情信息
# docker volume rm edc-nginx-vol // 刪除自定義數據卷
  • 案例

參考文獻

Docker官方鏡像搜索網址:<hub.docker.com>
Docker最新超詳細版教程通俗易懂:https://www.bilibili.com/video/BV1og4y1q7M4?p=1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM