Docker部署
一般的,微服務的部署方式都是采用JAVA -jar xxx.jar。這樣程序就可以正常啟動了。但是,隨著技術的發展,腳本方式部署只能啟動單臺服務的啟動。因此,微服務容器化部署應運而生,通過k8s通過容器化部署可以快速實現集群化部署,自動伸縮,方便維護。
而本次的筆記是對未來的k8s技術的實現做下鋪墊。
鏡像生成
1、通過Dockerfile生成鏡像
在當前路徑,vim Dockerfile
FROM java:8
# 作者
MAINTAINER chenxinhui
# VOLUME 指定了臨時文件目錄為/tmp。
# 其效果是在主機 /var/lib/docker 目錄下創建了一個臨時文件,并鏈接到容器的/tmp
# VOLUME /tmp
# RUN mkdir -p /tmp
# 將jar包添加到容器中并更名為App.jar
ADD practice-demo.jar /app/app.jar
# ADD config/application.yml /app/config/
WORKDIR /app
# 運行jar包
RUN bash -c 'touch /app/app.jar'
ENTRYPOINT ["java","-Djava.securitycat .egd=file:/dev/./urandom","-jar","/app/app.jar", "-Dspring.profiles.active=prod"]
2、在當前路徑下,執行Dockerfile腳本,就可以生成一個鏡像,通過docker images就可以查看
docker build -t docker-demo:1.0.10 .
Dockerfile腳本執行過程
3、通過docker部署剛才生成的鏡像
docker run -d -p 8090:8082 --name demo10 docker-demo:1.0.10
注意:要確認容器內服務的端口