建立映像檔使用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






你可能感興趣的文章

 JS30 Day 3 筆記

JS30 Day 3 筆記

常用 取消CSS預設樣式

常用 取消CSS預設樣式

ASP.NET Core Web API 入門教學 - 使用 cookie 驗證但不使用 ASP.NET Core Identity

ASP.NET Core Web API 入門教學 - 使用 cookie 驗證但不使用 ASP.NET Core Identity






留言討論