最近學習學習docker,記錄一下。
我電腦的系統是ubuntu18.04TLS,
打開終端, 輸入下面的命令,安裝docker。
wget -qO- https://get.docker.com/ | sh
安裝完成之后,可以輸入下面的命令,查看是否安裝成功。
docker version
sudo docker run -i -t --name sample ubuntu /bin/bash
解釋一下這個命令:-t -l 兩個命令行參數,-i標志保證容器中STDIN是開啟的,-t告訴Docker為要創建的容器分配一個偽tty終端。這樣新創建的容器才能提供一個交互式shell。如果我們要在命令下創建一個我們能與之進行交互的容器,而不是一個運行后台服務的容器,這兩個參數是最基本的。
列出所有的docker容器
sudo docker ps -a
-a 表示列出所有的docker容器, -l表示列出最新的docker容器
容器命名
sudo docker run --name testDocker ubuntu
重新啟動已經停止的容器
根據名字啟動容器
sudo docker start testDocker
根據id啟動容器
sudo docker start 5c9c5d637162
也可以用下面的命令重新啟動容器
sudo docker restart testDocker
附着到容器上。
docker容器重新啟動的時候,會沿用docker run命令時指定的參數來運行,因此重新啟動后會運行一個交互式會話shell。
創建守護式容器。
長期運行的容器。沒有交互式會話,非常適合運行應用程序和服務。
sudo docker run --name daemon_docker_container -d ubuntu /bin/sh -c "while true;do echo hell world; sleep 1;done"
查看容器的日志。
查看全部日志
sudo docker logs daemon_docker_container
可以加-f 查看實時日志
sudo docker logs -f daemon_docker_container
還可以加-t ,為每條日志加上時間戳。
sudo docker logs -ft daemon_docker_container
docker統計信息
docker1.5.0中引入的命令
sudo docker stats daemon_docker_container docker1 testDocker
在容器內部運行進程 exec
在docker1.3之后,通過docker exec命令在容器內部額外啟動新進程。
sudo docker exec -d daemon_docker_container touch /etc/new_config_file
sudo docker
這里注意:
在容器內運行的進程有兩種類型:后台任務和交互式任務。后台任務在容器內運行且沒有交互需求,而交互式任務則保持在前台運行。
如果想在容器內部運行交互式任務,需要容器處於運行的狀態。如果不是運行狀態可以看下面的例子。
停止容器
sudo docker stop daemon_docker_container