天天看點

如何使用Dockerfile建構鏡像?

以下使用自研項目e-commerce的auth-service子子產品為例說明。遠端鏡像倉庫使用aliyun的容器鏡像服務。

1.建立一個工作目錄。

我這裡使用auth-service子子產品的target目錄作為工作目錄。主要是友善生成jar包。

如何使用Dockerfile建構鏡像?

auth-service子子產品的target目錄

2.建立一個Dockerfile檔案。

如何使用Dockerfile建構鏡像?

建立的Dockerfile檔案

這個需要給Idea安裝docker插件,可以幫忙檢查Dockerfile檔案。

3.編輯Dockerfile檔案。

Dockerfile配置内容(在Idea裡面寫Dockerfile會有提示)

FROM java:8

#釋出到網上時隻會把jar包和Dockerfile釋出上去

COPY *.jar /auth-service.jar

#位址映射

CMD ["--server.port=8111"]

#對外暴露端口

EXPOSE 8111

#執行指令

ENTRYPOINT ["java","-jar","/auth-service.jar"]

如何使用Dockerfile建構鏡像?

編輯後的Dockerfile檔案

4.使用docker build指令建構鏡像。

執行docker build指令建構鏡像:

docker build -f Dockerfile -t auth-service:0.0.1-SNAPSHOT .

如何使用Dockerfile建構鏡像?

執行指令結果

5.建立容器。

執行以下docker run指令建立容器:

docker run --name auth-service -p 8111:8111 -d auth-service:0.0.1-SNAPSHOT

如何使用Dockerfile建構鏡像?

執行指令結果

6.進入容器并執行指令。

執行以下docker exec指令進入容器:

docker exec -it 20d1ea2e0552 ip add

如何使用Dockerfile建構鏡像?

執行指令結果

7.推送鏡像到私有鏡像倉庫。

docker login --username=aliyunxxx registry.cn-hangzhou.aliyuncs.com

docker tag 5d3dd83b93ec registry.cn-hangzhou.aliyuncs.com/xxx/auth-service:0.0.1-SNAPSHOT

docker push registry.cn-hangzhou.aliyuncs.com/xxx/auth-service:0.0.1-SNAPSHOT

如何使用Dockerfile建構鏡像?

執行指令結果

8.登入遠端倉庫檢視鏡像。

如何使用Dockerfile建構鏡像?

效果圖