在網路上看到有人提供 Docker 的 Cheat Sheet,裡面整理了很多常用的指令,建議剛入門 Docker 的初學者務必把底下指令學完,底下就是 Cheat Sheet
container 放大架構圖
基本指令
下載映像檔
$ docker pull image_name
啟動或關閉 container
$ docker [start|stop] container_name
建立 -> 啟動 -> 執行指令 (-ti
參數)
$ docker run -ti --name container_name image_name command
建立 -> 啟動 -> 執行指令 -> 刪除 container (-rm
參數)
$ docker run --rm -ti image_name command
file system 及 port 對應 (-v
及 -p
參數)
$ docker run -ti --rm -p 80:80 -v /your_path:/container_path -e PASSWORD=1234 image_name
Docker 清除 (cleanup) 指令
刪除所有正在執行的 container
$ docker kill $(docker ps -q)
刪除 dangling 映像檔
docker rmi $(docker images -q -f dangling=true)
刪除全部已停止的 container
docker rm $(docker ps -a -q)
Docker machine 指令
啟動 machine
$ docker-machine start machine_name
指定 machine 來設定 docker
$ eval "$(docker-machine env machine_name)"
與 container 互動指令
在 container 內執行指令
$ docker exec -ti container_name command
線上觀看 container logs
$ docker logs -ft container_name
儲存正在執行的 container 成 image 檔案
$ docker commit -m "message" -a "author" container_name username/image_name:tag
docker compose 格式
docker-compose.yml
格式如下
version: "2" service: container_name: "hello-world" image: golang command: "go run hello-world.go" ports - "80:8080" volumes: - /hello-world:/root/hello-world redis: image: redis
建立 -> 執行 container
$ docker-compose up
以上是常用的 docker 指令,初學者務必學習。