一、 基础条件
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,操作更方便哦