1. Docker容器的特殊規(guī)則:
- 一個容器可以運行多個進程,但是必須有一個超管進程(init),對容器內(nèi)的進程進行管理;
- 如果容器內(nèi)的進程出問題,多進程情況下查看日志將比較麻煩;
- 因為容器中運行的應用進程的日志不在寫入日志文件中;
- 而是發(fā)送給容器控制臺,Docker客戶端在容器外通過命令訪問控制臺,查看容器內(nèi)進程的日志;
- 所以一個容器中只運行一個進程及其子進程,可以省略啟動超管進程;
- 容器啟動直接自動開啟應用進程,如果應用進程出問題,可直接查看控制臺,便于分析問題;
- 這樣容器管理也就被簡化了。
2. 創(chuàng)建容器
[root@centos_7_1]:[~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@centos_7_1]:[~]# docker container run --name a1 -it alpine:3.8
/ #
/ # ls /
bin dev etc home lib media mnt proc root run sbin srv sys tmp usr var
/ #
#-------------------保持當前終端不退出,另開一個終端,查看當前主機有哪些容器-------------------
[root@centos_7_1]:[~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
164b90dacf73 alpine:3.8 "/bin/sh" About a minute ago Up About a minute a1
上述命令詳細說明:
- docker container ls
- 查看當前主機有哪些容器正在運行,運行中的主機STATUS屬性顯示UP。
- docker container run
- 創(chuàng)建容器
- --name a1
- 指定容器名稱為a1
- -i
- 選項,表示創(chuàng)建容器后打開交互式接口。
- -t
- 選項,表示為容器創(chuàng)建一個偽終端。
- 執(zhí)行以上各種組合選項后,進入容器偽終端界面。
- 這時可以像在正常Linux虛擬中一樣,執(zhí)行各種Linux命令。
3. 退出容器
/ # ls /
bin dev etc home lib media mnt proc root run sbin srv sys tmp usr var
/ # exit
[root@centos_7_1]:[~]#
#-----------------------------另開一個終端,查看當前有哪些終端-----------------------------
[root@centos_7_1]:[~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@centos_7_1]:[~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
164b90dacf73 alpine:3.8 "/bin/sh" 3 minutes ago Exited (0) 7 seconds ago
- exit
- 在容器中鍵入exit表示退出容器
- docker container ls -a
- -a選項與Linux大多數(shù)命令的選項表達的意思相同;
- 表示查看所有容器,包括已開啟或者已停止的。
4. 打開已停止的容器
[root@centos_7_1]:[~]# docker container start a1
a1
[root@centos_7_1]:[~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
164b90dacf73 alpine:3.8 "/bin/sh" 26 minutes ago Up 2 seconds a1
[root@centos_7_1]:[~]# docker container attach a1
/ #
/ #
#-----------------------------分割線-----------------------------
# 使用快捷鍵剝離終端
[root@centos_7_1]:[~]#
[root@centos_7_1]:[~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
164b90dacf73 alpine:3.8 "/bin/sh" 15 hours ago Up 17 seconds a1
[root@centos_7_1]:[~]# docker container stop a1
a1
[root@centos_7_1]:[~]#
[root@centos_7_1]:[~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
164b90dacf73 alpine:3.8 "/bin/sh" 15 hours ago Exited (137) 9 seconds ago a1
** 上述命令詳細說明:**
- docker container start a1
- 因為容器已常見,所以直接用start打開已停止的容器。
- 已關(guān)閉再次打開的情況下,start命令并不能進入容器的終端窗口中。
- docker container attach a1
- 關(guān)聯(lián)到a1容器的終端窗口中。
- 想在容器終端窗口中,剝離終端:
- 使用快捷鍵:先按鍵盤:ctrl+p,松開鍵盤,再次按:ctrl+q。
- 其他Docker快捷鍵可以查詢:https://docs.docker.com/engine/reference/commandline/attach/
- docker container stop a1
- 在宿主機上用stop命令終止運行中的容器
5. Docker容器命令的所有子命令
[root@centos_7_1]:[~]# docker container --help
Usage: docker container COMMAND
Manage containers
Commands:
attach Attach local standard input, output, and error streams to a running container
commit Create a new image from a container's changes
cp Copy files/folders between a container and the local filesystem
create Create a new container
diff Inspect changes to files or directories on a container's filesystem
exec Run a command in a running container
export Export a container's filesystem as a tar archive
inspect Display detailed information on one or more containers
kill Kill one or more running containers
logs Fetch the logs of a container
ls List containers
pause Pause all processes within one or more containers
port List port mappings or a specific mapping for the container
prune Remove all stopped containers
rename Rename a container
restart Restart one or more containers
rm Remove one or more containers
run Run a command in a new container
start Start one or more stopped containers
stats Display a live stream of container(s) resource usage statistics
stop Stop one or more running containers
top Display the running processes of a container
unpause Unpause all processes within one or more containers
update Update configuration of one or more containers
wait Block until one or more containers stop, then print their exit codes
Run 'docker container COMMAND --help' for more information on a command.
6. Docker新版本與老版本命令對比
[root@centos_7_1]:[~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
164b90dacf73 alpine:3.8 "/bin/sh" 16 hours ago Up 3 seconds a1
[root@centos_7_1]:[~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
164b90dacf73 alpine:3.8 "/bin/sh" 16 hours ago Up 7 seconds a1
- Docker容器命令:
- 老版本:
- docker ps
- docker ps -a
- 新版本:
- docker container ls
- docker container ls -a
Docker分類---文章目錄:
- 老版本:
| :----- | :-----: |
| 第一章 初識Docker | 點擊此處 |
| 第二章 安裝Docker以及簡單配置 | 點擊此處 |
| 第三章 Docker容器的生命周期 | 點擊此處 |
| 第四章 Docker命令匯總 | 點擊此處 |
| 第五章 Docker基礎命令詳解 | 點擊此處 |
| 第六章 Docker---鏡像的命令詳解 | 點擊此處 |
| 第七章 Docker---容器的命令詳解 | 點擊此處 |
| 第八章 Docker與Alpine不解之緣 | 點擊此處 |
|未完待續(xù)| |