天天看點

Docker 常用操作指令

文章首發于公衆号《程式員果果》

位址:

https://mp.weixin.qq.com/s/S9VkzSJx_JOY8zDiC_nuEg

1. 啟動容器

docker run IMAGE [COMMAND]  [ARG...]           
  • IMAGE 是指啟動容器所使用的作業系統鏡像
  • [COMMAND] [ARG...] 指的是容器啟動後運作的指令及其參數

2. 啟動互動式容器

#啟動互動式容器
docker run -i -t IMAGE /bin/bash
 
#退出互動式容器的bash,這樣容器就會在背景運作
Ctrl+P+Q           

在run指令中增加了兩個參數 -i -t ,并在容器啟動時運作bash指令

  • i --interactive=true | fasle 預設是false

    用來告訴docker守護程序為容器始終打開标準輸入

  • -t --tty = true | false 預設是false

    告訴docker要為建立的容器配置設定一個--tty終端,這樣新建立的容器才能提供一個互動式的shell

3. 啟動守護式容器

docker run -d 鏡像名 [COMMAND] [ARG...]           
  • -d 是指以背景的形式運作指令

4. 檢視運作的容器

docker ps [-a] [-l]           
  • [-a] 列出所有建立的容器
  • [-l] 列出最新建立的容器

5. 檢視容器的詳細配置

docker inspect CONTAINER_ID           

6. 重新開機、停止容器

docker restart [-i]  容器名/容器ID
docker stop 容器名/容器ID (發送信号,等待停止)
docker kill 容器名/容器ID(直接停止)           

7. 删除停止的容器

docker rm 容器名/容器ID           
  • -f : 通過SIGKILL信号強制删除一個運作中的容器
  • -v : 删除與容器關聯的卷

8. 附加到運作的容器(進入剛剛退出的容器)

docker attach 容器名/容器ID           

9.檢視容器日志

docker logs [-f] [-t] [--tail] 容器名           
  • -f  --follows=true | false 預設為false,告訴logs指令一直跟蹤日志的變化并傳回結果
  • -t  --timestamps=true | false 預設為false,在傳回的結果上加上時間戳
  • --tail  = "all"   是選擇傳回結尾處多少數量的日志,如果不指定的話就傳回所有的日志

10. 檢視容器内程序

docker top 容器名/容器ID           

11. 在運作中的容器内啟動新程序

docker exec [-d] [-i] [-t]  容器名 [COMMAND] [ARG...]
例子:
docker exec -i -t 容器名 /bin/bash           

12. 停止守護式容器

#stop 會給容器發送一個信号,等待容器的停止
docker stop 容器名
#直接停止容器
docker kill 容器名           

13. 列出鏡像

docker images [OPTSIONS] [REPOSITORY]           
  • -a  --all=false  顯示所有鏡像,預設并不顯示中間層的鏡像
  • -f  --filter=[]  顯示時的過濾條件
  • --no-trunc=false   指定不使用截斷的形式來顯示資料,預設情況下我們用images查到的清單會截斷鏡像的唯一id
  • -q  --quiet=false  隻顯示鏡像的唯一id

14. 擷取容器/鏡像的中繼資料

docker  inspect [OPTIONS] CONTAINER|IMAGE[CONTAINER|IMAGE...]           

15. 删除鏡像

docker rmi [OPTIONS] IMAGE [IMAGE...]           
  • -f,--force=false 強制删除鏡像
  • --no-prune=false 保留被删除鏡像中被打标簽的父鏡像