建立映像檔使用Dockerfile


Dockerfile:

設計一個基本的node.js的docker image。
整個建立過程就像疊積木一樣,需要有個底層的docker image(docker會幫忙到Dockerhub找我所指定的image和版號)做為執行環境,接著,在這環境之上要建立自己的專案,並建立能執行專案程式的相依的套件,最後加入一行啟動整個應用程式需要的執行命令,便完成了。

# 檔名 Dockerfile
FROM node:6.2.2 # 載入需要的執行環境
WORKDIR /app    # 如果目錄不存在,自動建立建立工作目錄 /app
COPY . /app     # 將電腦裡的專案資料複製到/app底下
RUN npm install # 下載相依的package
EXPOSE 3000     # container對外的port     
CMD npm start   # docker start後的執行指令

建立好後就可以透過docker指令建立映像檔

# 預設會直接去找Dockerfile這個檔名
docker build .
# 如需客製化檔名建立要加個-f參數
docker build -f <custom dockerfile name> .
---
# 將映像實例化一個容器有兩種方式
# 方法一透過映像檔的id
docker run <image-id>
# 方法二透過檔名
docker run -it <image-name>
---
# 透過外部的port對應容器內部的port
docker run -p 3000:3000 -it <container-name> 
# 查詢log
docker logs <container-ID>
# 刪除某一個執行中的id
docker container kill [CONTAINER-ID]

上傳映像檔到Docker hub

Docker Hub是一個存放很多docker image的線上公開的倉庫。上傳前先確定有在Docker Hub註冊!
上傳之前~~

# 找到要上傳的image
docker images
# 將image加上標籤,若沒指定version就會是latest
docker tag <image-id> <account-name/repository-name>:<version>
# 登入到Docker Hub
docker login
# 將映像檔推上Docker Hub
docker push <account-name/repository-name>:<version>
---
# 將映像檔從Docker Hub上拉到本機電腦
docker pull <account-name/repository-name>

參考

主要學習資源
Udemy - Docker and Kubernetes(author:stepehn grider)

#dockerfile #Dockerhub
這個系列想介紹一些容器化概念,透過實作與研究容器化的實際運用(CI/CD),日後自己能把這個技術發揮在適合的地方。






Related Posts

Airflow 動手玩:(四)淺談 Airflow 架構

Airflow 動手玩:(四)淺談 Airflow 架構

MTR04_0720

MTR04_0720

【Day07】幫 Youtube 影片下載程式添加小功能

【Day07】幫 Youtube 影片下載程式添加小功能



Comments