一、依附容器
依附操作attach通常用在由docker start或者docker restart啟動的交互型容器中。由於docker start啟動的交互型容器並沒有具體終端可以依附,而容器本身是可以接收用戶交互的,這時就需要通過attach命令來將終端依附到容器上。
docker start docker_run:先啟動docker_run容器。 啟動后docker ps可以看到啟動的容器,這是我們發現客戶端顯示的宿主機([root@git ~]#)。 執行docker attach docker_run,終端就已經依附到了容器上,ls顯示的就是容器中的目錄內容。
- 注意:后台型容器是無法依附終端的,因為它本身就不接受用戶交互輸入。
二、查看容器日志
首先創建一個不斷輸出一些內容的后台型容器,我命名為docker_logs,是一個包含循環輸出的自然數容器: docker run -d --name docker_logs centos /bin/bash -c "for((i=0;1;i++));do echo $i;sleep 1;done;
docker logs -f docker_logs:此命令默認情況下是輸出從容器啟動到執行命令時的所有輸出,但是之后的輸出就不顯示了,-f命令會實時顯示日志。 docker logs -f --tail=5 docker_logs:–tail是控制logs輸出的行數為最后5行。
三、查看容器進程
docker top:可以查看容器中正在運行的進程。
四、查看容器信息
docker inspect [NAME]/[CONTAINER ID]:用於查看容器的配置信息,包含容器名、環境變量、運行命令、主機配置、網絡配置和數據卷配置等:
-
-f
或--format
格式化標志,可以查看指定部分的信息。docker inspect --format='{{.State.Running}}' [NAME]/[CONTAINER ID]
:查看容器的運行狀態。docker inspect --format='{{.NetworkSettings.IPAddress}} [NAME]/[CONTAINER ID]'
:查看容器的IP地址。- 同時查看多個信息:
docker inspect --format '{{.Name}} {{.State.Running}}' [NAME]/[CONTAINER ID]
:查看容器名和運行狀態。
五、容器內執行命令
在容器啟動的時候,通常需要指定其需要執行的程序,然而有時候我們需要在容器運行之后中途啟動另一個程序。從Docker1.3開始,我們可以用docker exec命令在容器中運行新的任務,它可以創建兩種任務:后台型和交互型。
docker exec -d docker_logs touch /etc/exec_new_file:-d:后台型,並在容器中創建一個文件。
六、容器的導入和導出
用戶不僅可以把容器提交到公共服務器上,還可以將容器導出到本地文件系統中。
同樣,我們也可以將導出的容器重新導入到Docker運行環境中。導入:`import`,導出:`export`。
docker export docker_logs > docker_logs_export.tar:把容器的文件系統以tar包的格式導出到標准輸出。
cat docker_logs_export.tar | docker import - [res]:[tag]:把打包的容器導入為一個鏡像,res代表鏡像。tag代表標記。
docker import url res:tag:還可以通過一個url鏈接來導入網絡上的容器。