iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0
DevOps

跟著菜鳥手把手用Docker建立服務系列 第 5

Day5 - 菜鳥來試試Container指令

  • 分享至 

  • xImage
  •  

在上一篇Docker Image實作成果給大家看,在前面有提到,Image是為了Container存在,接下就換Docker container指令實作

這邊先以nginx Image為實作範例,記得要去pull nginx Image,順便可以練習如何建立一個Image

這邊又有一個Docker方便的一個技巧,就是當輸入docker container相關指令,如果沒特別輸入container,Docker會默認為container,講得很饒舌可能大家聽不懂直接做個實作給大家看,就知道我在講什麼了


  1. docker container run "image-name"

    docker run -d nginx// 啟動容器
    

    https://ithelp.ithome.com.tw/upload/images/20230909/20158512a00rj1VioB.png

    • 這邊發現多個-d這個就是參數設定,意思是container將在背景運行,並且不會將容器的輸出附加到當前的終端,這邊線大概了解一下意思,後面會特別說明參數設定的使用講解
    • 如果Container啟動成功,會顯示一長串的Container ID
  2. docker container ps -a

    docker ps -a //列出所有容器包括已停止的
    

    https://ithelp.ithome.com.tw/upload/images/20230909/20158512fkr78aMrg1.png

    • 這邊可以看到我們所以啟動的nginx container
    • 如果沒特別設定Name參數,Docker會自己幫container取名,這邊取名為hopeful_almeida
    • 可以看到Status Up + 時間,代表nginx container是啟動中
  3. docker container stop "container-name or container-id"

    docker stop hopeful_almeida //停止容器
    

    https://ithelp.ithome.com.tw/upload/images/20230909/2015851258D6gEZx51.png

    • 這邊可以看到Status Exited (0) + 時間,代表Containrt停止啟動中
    • 不過通常都使用Container ID去指定Container
  4. docker container restart "container-name or container-id"

    docker restart hopeful_almeida //重新啟動容器
    

    https://ithelp.ithome.com.tw/upload/images/20230909/20158512SVwWn0qWYv.png

    • 這邊可以看到Status Up + 時間,代表nginx container重新啟動成功,並且啟動中
  5. docker container inspect "container-name or container-id"

    docker inspect hopeful_almeida //顯示容器的詳細資訊
    

    https://ithelp.ithome.com.tw/upload/images/20230909/20158512qZ5f1e29pM.png

    • 這邊會顯示container的詳細資訊,更清楚知道container設計內容
  6. docker container exec -it "container-name or container-id" bash => 進入容器的 Shell

    docker exec -it hopeful_almeida bash //進入容器的 Shell
    

    https://ithelp.ithome.com.tw/upload/images/20230909/20158512H25zESOnAA.png

    • 這邊直接進入container shell 模式,可以直接下指令去操作container
    • Day2 - 一起跟菜鳥了解什麼是Docker的情境舉例,就是把container想成一台電腦,當你輸入docker exec指令,就等同你在操作這台電腦
    • 這邊有看到-it參數,這邊代表與容器進行交互的意思,這邊線大概了解一下意思,後面會特別說明參數設定的使用講解
    • 輸入exit就能跳出container shell
  7. docker container rm "container-name or container-id"

    docker rm hopeful_almeida //刪除容器
    

    https://ithelp.ithome.com.tw/upload/images/20230909/201585123LMQtSVjF1.png

    • 刪除前提是container Status必須要Exited (0),才能刪除
    • 如果要container Status不為Exited (0) 可以加上-f(docker rm hopeful_almeida -f)強制刪除,當然刪除前要檢查仔細是否真的要刪除

其實可以發現docker image 跟 docker container的指令差不多相同,規則概念都差不多

這篇會發現有些參數的設定,這邊只是大概提一下,目的是想先把基本的搞懂,後面才會加上參數設定的講解,不要一次就跳那麼快,分開講也比較不會搞混



上一篇
Day4 - 菜鳥來試試Image指令
下一篇
Day6 - 菜鳥的心血Image存放到倉庫
系列文
跟著菜鳥手把手用Docker建立服務30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言