1. 程式人生 > 其它 >使用docker部署springcloud專案

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