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