[Docker] Command Line, CLI
keywords: tutorial
, cli
TL;SC
$ docker ps [--all] # 檢視所有 containers
$ docker exec -it <container-name> bin/bash # 連進 container 進行操作
$ docker run -it [image-id] # 根據 image 建立並執行 container
$ docker run -p 8080:8080 <image-id> # port mapping localhost port:container port
$ docker run -d redis # 讓該 container 在背景執行
# 希望能夠對某個執行中的 container 輸入一些指令
$ docker exec -it <container-id | container-name> sh
$ docker start [container-id] # 執行已經建立過的某個 container
$ docker stop [container-id] # 停止某個執行中的 container
$ docker system prune # 把所有 docker 中當前沒用到的 container 清空
# 將 container 包成 image
$ docker build -t pjchender/project_name .
$ docker build \
--file Dockerfile \
--secret id=npm_token,env=NPM_TOKEN \
--progress=plain \ # 可以顯示出 log
-t pjchender:vite-prod .
##
# docker compose
##
$ docker compose up --build # 對應到 docker build . 和 docker run <image-id>
$ docker compose up -d # 對應到類似 docker run <image-id>,-d 是在背景執行
$ docker compose down # stop and remove the containers
$ docker compose ps # 列出該 docker-compose 中有哪些 services 在執行
$ docker compose start # stop the containers
$ docker compose stop # start the containers