Docker Machine & Compose & Swarn


Docker 基礎教學

參考資料

基本操作

  • sudo docker login //登入 hub.docker.com,上傳docker映像檔必須
  • sudo docker logout //登出 hub.docker.com
  • sudo docker images //列出本機有的 docker 映像檔
  • sudo docker build //依據 Dockerfile建立 odcker映像檔
  • sudo docker run ubuntu //執行ubuntu這個映像檔
  • sudo docker ps //列出 docker instances
  • sudo docker stop //停止 docker instance
  • sudo docker rm //刪除 docker instance
  • sudo docker rm -f $(sudo docker ps -aq) //一次刪除所有的 docker instances
  • sudo docker rmi //刪除 docker 映像檔
  • sudo docker rmi -f $(sudo docker images -aq) //一次刪除所有的 docker 映像檔
  • sudo docker pull
  • sudo docker push
  • sudo docker commit -m "First Modify" -a "Sam" a55b50312c52 wafflecity/waffle_mongodb:latest //必須於 instance 活著的狀態,於另一個視窗 commit
  • `sudo docekr exec -it a55b50312c52 exec /bin/bash //執行a55b50312c52 instance 內的 /bin/bash
  • sudo docker cp ./hello.js a55b50312c52:/tmp //複製hello.js到容器內的/tmp下

Dockerfile範本 // https://goo.gl/46gZsT or https://goo.gl/CVsCL1 or https://goo.gl/HeX40T

  • https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#use-a-dockerignore-file

  • FROM redis:latest //映像檔取自 redis的最後一個版本

  • MAINTANIER [email protected]
  • WORKDIR //為後續的 RUN、CMD、ENTRYPOINT 指令指定工作目錄
  • CMD [npm i ] //啟動時執行的命令,只能有一條 CMD 命令
  • RUN
  • ADD
  • COPY
  • EXPOSE 6379 //將本地6379埠對應到Docker的6379埠
  • ENTRYPOINT //啟動後執行的命令,並且不會其他的參數覆蓋只能有一個 ENTRYPOINT
  • VOLUME
  • ENV //指定一個環境變數,會被後續 RUN 指令使用,並在容器運行時保持
  • USER //指定運行容器時的使用者名稱或 UID,後續的 RUN 也會使用指定使用者

Docker-Compose

  • Install

  • sudo apt-get update && sudo apt-get -y upgrade

  • sudo apt-get install python-pip -y

  • sudo pip install --upgrade pip
  • sudo pip install docker-compose

Setting File -> docker-compose.yml

Reference

results matching ""

    No results matching ""