Docker

h1. Docker Doc

h2. Dockerfile

https://docs.docker.com/engine/reference/builder/

h2. docker-compose.yml

h1. docker 常用情境

  • 情境:列出主機上的 Docker Images。

    docker images
  • 情境:取得 Ubuntu 的 Docker Image。

    docker pull ubuntu
  • 情境:啟動一個 Ubuntu Image 的 Container 並進入它的 bash 環境。

    docker run -it ubuntu bash
  • 情境:離開上一步驟進入的 Container 但是不讓它 (docker process) 結束。

    先按 Ctrl + p,再按 Ctrl + q
  • 情境:查詢目前 Docker Server 中運行的「所有」Container 以及它們的 Name。

    docker ps -a
  • 情境:進入一個正在「運行中」的 Container 的 bash 環境。

    docker exec -it your_running_container_name bash
  • 情境:離開 Container 的 bash 環境。

    exit
  • 情境:停止「運行中」的 Container。

    docker stop your_running_container_name
  • 情境:重啟「停止中」的 Container。

    docker restart your_stopped_container_name
  • 情境:移除「停止中」的 Container。

    docker rm your_stopped_container_name
  • 情境:啟動一個 Nginx Image 的 Container,並讓它在背景執行。

    docker run -d nginx
  • 情境:啟動一個 Nginx Image 的 Container,並將主機的 8080 port 對應到 Container 的 80 port。

    docker run -p 8080:80 nginx
  • 情境:啟動一個 Nginx Image 的 Container,並將主機的 /tmp 目錄掛載到 Container 的 /usr/share/nginx/html 目錄。

    docker run -v /tmp:/usr/share/nginx/html nginx

h1. docker-compose 常用指令

docker-compose 預設會讀取當前目錄下的 docker-compose.yml 作為設定檔。

  • 情境:啟動所有的 Containers

    docker-compose up
  • 情境:啟動所有的 Containers 在背景執行

    docker-compose up -d
  • 情境:顯示當前的運作情況

    docker-compose ps
  • 情境:查看所有 Containers 的 logs

    docker-compose logs
  • 情境:停止所有的 Containers

    docker-compose stop
  • 情境:移除所有停止中的 Containers

    docker-compose rm

Last updated