一、Docker 鏡像命令
Docker 的鏡像一般都放在 Docker 官網的 Docker Hub 上,地址是:https://hub.docker.com 。
1. Docker 鏡像檢索
除了可以在 https://hub.docker.com 網站檢索鏡像外,還可以用下面命令檢索:
docker search 鏡像名
# 如檢索 Redis,輸入:
docker search redis
2. 鏡像下載
下載鏡像通過下面命令實現:
docker pull 鏡像名
# 如下載 Redis 鏡像,輸入:
docker pull redis
3. 鏡像列表
查看本地鏡像列表,通過下面命令:
docker images
其中,REPOSITORY 代表鏡像名,TAG 代表軟件版本,IMAGE ID 代表當前鏡像的唯一標識;CREATED 代表當前鏡像創建時間;SIZE 代表當前鏡像大小。
4. 鏡像刪除
# 刪除指定鏡像通過下面命令
docker rmi image-id
# 刪除所有鏡像通過下面命令
docker rmi $(docker images -q)
二、Docker 容器命令
1. 容器基本操作
最簡單的運行鏡像為容器的命令如下:
docker run --name container-name -d image-name
運行一個容器只要通過 Docker run 命令即可實現,其中,--name 參數是為容器取得名稱;-d 表示 detached,意味著執行完這句命令后控制臺將不會被阻礙,可繼續輸入命令操作;最后的 image-name 是要使用哪個鏡像來運行容器。
運行 redis 容器命令如下:
docker run --name test-redis -d redis
Docker 會為容器生成唯一的標識。
2. 容器列表
通過下面命令,查看運行中的容器列表:
docker ps
其中,CONTAINER ID 是在啟動的時候生成的 ID;IMAGE 是該容器使用的鏡像;COMMAND 是容器啟動時調用的命令;CREATED 是容器創建時間;STATUS 是當前容器的狀態;PORTS 是容器系統使用的版本號;NAMES 是剛才給容器定義的名稱。
通過下列命令可查看運行和停止狀態的容器:
docker ps -a
3. 停止容器
停止容器通過下面的命令:
docker stop container-name / container-id
可以通過容器名稱或容器 ID 來停止容器,以停止上面的 Redis 容器為例:
docker stop test-redis
此時運行中的容器列表為空。查看所有容器命令,可以看到此時的 STATUS 為退出。
4. 啟動容器
啟動容器通過下面命令:
docker start container-name / container-id
再次啟動剛才停止的容器:
docker start test-redis
5. 端口映射
Docker 容器中運行的軟件所使用的端口,在本機和本機的局域網是不能訪問的,所以我們需要將 Docker 容器中的端口映射到當前主機的端口上,這樣我們在本機和本機所在的局域網就能夠訪問該軟件了。
Docker 的端口映射是通過一個 -p 參數來實現的。以剛才的 Redis 為例,映射容器的 6379 端口到本機的 6378 端口,命令如下:
docker run -d -p 6378:6379 --name port-redis redis
6. 刪除容器
刪除單個容器,可通過下面的命令:
docker rm container-id
刪除所有容器,可通過下面的命令:
docker rm $(docker ps -a -q)
7. 容器日志
查看當前容器日志,可通過下面的命令:
docker logs container-name / container-id
查看下上面一個容器的日志,命令如下:
docker logs port-redis
8. 登錄容器
運行中的容器其實是一個功能完備的 Linux 操作系統,所以我們可以像常規的系統一樣登錄并訪問容器。
我們可以使用下面命令,登錄訪問當前容器,登錄后我們可以在容器中進行常規的 Linux 系統操作命令,還可以使用 exit 命令退出登錄。
docker exec -it container-id / container-name bash