使用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