使用docker部署springcloud項目


一、 基礎條件

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,操作更方便哦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM