Docker 實用指令及 Best Practices Cheat Sheet 圖表

docker

在網路上看到有人提供 DockerCheat Sheet,裡面整理了很多常用的指令,建議剛入門 Docker 的初學者務必把底下指令學完,底下就是 Cheat Sheet

Docker-cheat-sheet-by-RebelLabs

點我大圖

container 放大架構圖

Screen Shot 2016-03-20 at 1.11.30 PM

基本指令

下載映像檔

1
$ docker pull image_name

啟動或關閉 container

1
$ docker [start|stop] container_name

建立 -> 啟動 -> 執行指令 (-ti 參數)

1
$ docker run -ti --name container_name image_name command

建立 -> 啟動 -> 執行指令 -> 刪除 container (-rm 參數)

1
$ docker run --rm -ti image_name command

file system 及 port 對應 (-v-p 參數)

1
$ docker run -ti --rm -p 80:80 -v /your_path:/container_path -e PASSWORD=1234 image_name

Docker 清除 (cleanup) 指令

刪除所有正在執行的 container

1
$ docker kill $(docker ps -q)

刪除 dangling 映像檔

1
docker rmi $(docker images -q -f dangling=true)

刪除全部已停止的 container

1
docker rm $(docker ps -a -q)

Docker machine 指令

啟動 machine

1
$ docker-machine start machine_name

指定 machine 來設定 docker

1
$ eval "$(docker-machine env machine_name)"

與 container 互動指令

在 container 內執行指令

1
$ docker exec -ti container_name command

線上觀看 container logs

1
$ docker logs -ft container_name

儲存正在執行的 container 成 image 檔案

1
$ docker commit -m "message" -a "author" container_name username/image_name:tag

docker compose 格式

docker-compose.yml 格式如下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
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

1
$ docker-compose up

以上是常用的 docker 指令,初學者務必學習。


See also