文章首發於公衆號《程序員果果》
地址: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 保留被刪除鏡像中被打標籤的父鏡像