# 基礎指令

# Image 映像檔 常用指令

指令說明範例
search搜尋docker search [image_name]
pull下載docker pull [image_name]
images查看目前 images (列表)docker images
run執行docker run [-ti] [centos] [/bin/bash]
rmi [image ID]刪除docker rmi [615cb40d5d19]
build建立docker build [-t project .]
login登入docker login [docker.okborn.com]
push上傳docker push

# Container 容器 常用指令

# Registry 倉庫 常用指令

# 基礎指令實作

# 實作目標:

  1. 先從 Docker Hub 上把 Ubuntu OS 的 image pull 到 local,
  2. 有了 image 之後就可以把 Docker container 執行起來,
  3. 然後進入到 container 裡面安裝和啟動 Apache 的 HTTP Service,
  4. 並且寫一個有 HelloWorld 字串的 HTML 檔案。
  5. 最後使用 Browser 連到 Docker Container 裡面的 HTTP Service,
  6. 確認 HelloWorld 的字串能正常的顯示出來。

# 實作的流程如下:

  1. 從 Docker Hub 下載 Docker Image 到 local
  2. 使用 Docker Image 啟動 Docker Container 並進入 Docker Container 的 terminal
  3. 在 Docker Container 裡面安裝 Apache 的 HTTP Service,並且寫一個 helloworld 的 html 檔
  4. 使用 Browser 連到 helloworld.html 確認 Docker Container 有成功的被啟動起來

# 第一步:

從 Docker Hub 下載 Docker Image 到 local

  1. 要下載 Docker Image 之前需要先搜尋一下,Docker Image 的 Name 是什麼,指令如下:

    $ docker search ubuntu -f is-official=true
    

    is-official=true 表示要搜尋是官方的 Docker image

    就選擇星星數最多的 Name 為 ubuntu

  2. 找到了 ubuntu 的 Docker Image Name 之後,就可以把此 image pull 下來,指令如下:

    $ docker pull ubuntu
    

    執行結果如下圖

  3. 要再一次確認 ubuntu 的 docker image 有沒有下載下來,可以使用以下的指令

    $ docker images
    

    執行結果如下圖

# 第二步:

有了 Docker Image 之後就可以把 container 執行起來了,並且進入 Docker Container 的 terminal 裡面

  1. 指令如下

    $ docker run -it -p 8000:80 ubuntu /bin/bash 
    

    使用以上的指令就可以進入了 docker container 裡面的 terminal

  2. 可以再打開另外一個 terminal 視窗,輸入以下指令

    $ docker ps -a
    

    確認 docker container 有正常的執行,如下圖:

在要離開 docker container 的 terminal 時有一個坑。就是如果輸入 exit 指令時,container 會被關閉,如下圖:

如果不要停止 container 而要退出 docker container 的 terminal 需要輸入 ctrl + p 之後再輸入 ctrl + q 的按鍵,就不會把 container 關閉。

# 第三步:

  1. 在 docker container 裡面安裝和啟動 apache 的 http service,指令如下:

    root@a03f4fc98ea2:/# apt-get update
    root@a03f4fc98ea2:/# apt-get install -y apache2
    root@a03f4fc98ea2:/# service apache2 start
    

    if it is success will show

  2. 簡單寫一個 hellowolrd.html 檔案放在 /var/www/html 的路徑下,指令如下:

    root@a03f4fc98ea2:/# echo "HelloWorld" > /var/www/html/helloworld.html
    
  3. 使用 cat /etc/hosts 指令查看 docker container 的 IP 如下圖:

  4. 如果想要使用 ifconfig 指令,需要安裝 net-tools 工具指令如下:

    root@a03f4fc98ea2:/# apt-get install -y net-tools
    

# 第四步:

使用 Linux 虛擬機 GUI browser 輸入 http://172.17.0.2/helloworld.html 的 URL 查看 helloworld.html 的檔案是否能正常的顯示。

使用 Window 本機的 browser 輸入 http://localhost:8000/helloworld.html 的 URL 查看 helloworld.html 的檔案是否能正常的顯示,畫面如下:

# 參考文章