使用docker部署springcloud專案
阿新 • • 發佈:2021-06-22
一、 基礎條件
centos7、docker、docker-compose
本人的docker資訊如下:
二、docker配置遠端訪問
vi /usr/lib/systemd/system/docker.service
修改ExecStart資訊為:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
如圖:
修改完成之後需要重啟docker:
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker
測試訪問http://宿主機IP:2375/info如果有資料返回則表示配置成功,如下圖:
三、 使用maven外掛構建並上傳映象
1. 修改每個微服務的pom檔案
增加如下外掛:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- tag::plugin[] --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.3</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory> <dockerHost>http://172.22.3.14:2375</dockerHost> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> <!-- end::plugin[] --> </plugins> </build>
- imageName:映象名稱
- dockerDirectory:dockerfile所在路徑目錄
- dockerHost:需要推送的docker宿主機ip+開放的遠端訪問埠(2375)
2. 新建dockerfile檔案
FROM java:8
VOLUME /tmp
ADD docker-service-1.0-SNAPSHOT.jar app.jar
#RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
EXPOSE 4000
3.構建映象並上傳至docker服務
執行maven命令:
clean package docker:build -DskipTests
上傳成功後,在docker服務端可以輸入映象命令查詢推送的images:
docker images
4. 使用映象啟動服務
如果不使用docker-compose,此時已經可以直接啟動映象服務了:
[root@localhost lpg-compose]# docker run -p 3000:3000 -d 198803096838/docker-eureka cloud-eureka
四、 使用docker-compose編排服務
1. 在伺服器任意目錄,建立docker-compose.yml
version: '3'
services:
docker-eureka: #註冊中心
restart: on-failure
image: 198803096838/docker-eureka #映象名
ports:
- "3000:3000" #對映埠
networks:
- eureka-net #網路模式
environment:
SERVER_PORT: "3000" #環境變數,自定義引數,用於給服務的配置檔案傳遞引數
docker-service:
image: 198803096838/docker-service
networks:
- eureka-net
ports:
- "4000:4000"
environment:
SERVER_PORT: "4000"
docker-biz:
image: 198803096838/docker-biz
networks:
- eureka-net
ports:
- "5000:5000"
environment:
SERVER_PORT: "5000"
networks:
eureka-net:
driver: bridge
2. 在docker-compose.yml所在目錄啟動編排的服務
docker-compose -f docker-compose.yml up -d
3. 停止docker-compose服務
docker-compose -f docker-compose.yml down
五、專案地址
連結:https://pan.baidu.com/s/16-W2byI5soE8JV2Y3yZK-g
提取碼:d7fv
複製這段內容後開啟百度網盤手機App,操作更方便哦