文章首發于公衆号《程式員果果》
位址:
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 保留被删除鏡像中被打标簽的父鏡像