docker、docker-compose 常用命令

落落的学习發表於2024-04-05

1.docker 常用命令

建立容器:docker create

啟動容器:docker start [id]

停止容器:docker stop [id]

停止全部執行的容器:docker stop `docker ps -q`

重啟容器:docker restart [id]

檢視執行中的容器:docker ps

檢視所有容器(包括已停止的):docker ps -a

刪除容器:docker rm 容器id

檢視本地映象:docker images

刪除本地映象:docker rmi 容器名/容器id

進入容器:docker exec -it 容器名/容器id /bin/bash

檢視容器日誌:docker logs -f 容器名/容器id

將本地埠對映到容器埠:docker run -it -p 本地埠:容器埠 容器id

後臺執行容器:docker run -d

檢視容器的root使用者密碼:docker logs <容器名/id> 2>&1 | grep '^User: ' | tail -n1

複製容器中的檔案到主機:docker cp <容器名/id>:<容器_path> <host_path>

複製主機檔案到容器:docker cp <host_path> <容器名/id>:<容器_path>

2.docker-compose 常用命令

2.1.啟動和停止服務

# 前臺啟動, 啟動專案中的所有服務。
$. docker-compose up
 
# 後臺啟動, 啟動所有服務並在後臺執行。 
$. docker-compose up -d
 
# 停止所有服務。
$. docker-compose stop 
 
restart
docker-compose restart # 重啟工程中所有服務的容器
docker-compose restart nginx # 重啟工程中指定服務的容器
 
start
docker-compose start # 啟動工程中所有服務的容器
docker-compose start nginx # 啟動工程中指定服務的容器
 
stop
docker-compose stop # 停止工程中所有服務的容器
docker-compose stop nginx # 停止工程中指定服務的容器

2.2.構建和重構服務 -- bulid

# 構建服務的映象
docker-compose build
 
# 如果服務映象不存在,則構建映象並啟動服務。
docker-compose up –build
 
# 重構服務。
docker-compose up --force-recreate 

2.3.檢視服務資訊

# 檢視專案中所有服務的資訊。
docker-compose ps
 
# 檢視容器的日誌。
docker-compose logs
 
# 在服務映象的容器中執行命令。
docker-compose exec service_name command

2.4.刪除所有容器

#  刪除服務容器(容器)
docker-compose down 

2.5.logs 命令

# docker-compose logs 檢視服務容器的輸出日誌。
# 預設情況下,docker-compose將對不同的服務輸出使用不同的顏色來區分。
# 可以透過--no-color來關閉顏色。
# 輸出日誌,不同的服務輸出使用不同的顏色來區分
docker-compose logs
# 跟蹤日誌輸出
docker-compose logs -f
# 關閉顏色
docker-compose logs --no-color
 
# 檢視日誌
docker-compose logs web  # 參考 1.9 docker-compose.yml 檔案內容

2.6.在指定容器上執行命令 -- run

docker-compose run 在指定服務容器上執行一個命令。
docker-compose run nginx echo "helloworld" # 在工程中指定服務的容器上執行 echo "helloworld"

2.7.進入指定容器 -- exec

docker-compose exec進入服務容器。
docker-compose exec nginx bash # 進入工程中指定服務的容器
docker-compose exec --index=1 nginx bash # 當一個服務擁有多個容器時,可透過 --index 引數進入到該服務下的任何容器

2.8.暫停、恢復服務容器

pause
docker-compose pause # 暫停工程中所有服務的容器
docker-compose pause nginx # 暫停工程中指定服務的容器
 
unpause
docker-compose unpause # 恢復工程中所有服務的容器
docker-compose unpause nginx # 恢復工程中指定服務的容器

2.9.檢視容器列表 -- ps

docker-compose ps

2.10.刪除容器

docker-compose rm -f jobmanager
docker-compose rm -f taskmanager

相關文章