SpringBoot部署項目到Docker倉庫
1.開啟遠程控制端口
-
Centos7開啟方式:
vim /lib/systemd/system/docker.service
找到ExecStart行ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -
重啟docker
啟動 systemctl start docker 守護進程重啟 sudo systemctl daemon-reload 重啟docker服務(wù) systemctl restart docker 重啟docker服務(wù) sudo service docker restart 關(guān)閉docker service docker stop 關(guān)閉docker systemctl stop docker
2.創(chuàng)建springboot項目
-
利用IDEA快速創(chuàng)建springboot項目:
- 添加測試Controller

3.配置項目構(gòu)建信息
- 在
pom.xml文件中配置如下:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- Docker maven plugin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<!-- docker私服的地址 -->
<dockerHost>http://192.168.101.205:2375</dockerHost>
<!--鏡像名稱以及版本號-->
<imageName>spring-boot-docker:1.1.1</imageName>
<!--依賴的基礎(chǔ)鏡像-->
<baseImage>java</baseImage>
<!--Dockerfile的位置 -->
<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
<!-- 這里是復制 jar 包到 docker 容器指定目錄配置 -->
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
<!-- Docker maven plugin -->
</plugins>
</build>
說明:
-
<dockerHost>http://192.168.101.205:2375</dockerHost>就是docker服務(wù)器地址 -
<imageName>spring-boot-docker:1.1.1</imageName>構(gòu)建后的docker image的name與tag -
<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>指定Dockerfile文件位置
4.編輯Dockerfile
FROM java:8
MAINTAINER haopeng 18802953162@163.com
VOLUME /home/haopeng
ADD docker_base-0.0.1-SNAPSHOT.jar demo.jar
RUN bash -c 'touch /app.jar'
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
- 另外項目端口需要改為8080
- 對Dockerfile里面的內(nèi)容做一個簡單的介紹:
1.FROM:指明當前鏡像繼承的基鏡像,編譯當前鏡像時候會自動下載基鏡像
2.MAINTAINER:當前鏡像的作者和郵箱,使用空格隔開
3.VOLUME:掛載目錄
4.ADD:從當前工作目錄復制文件到鏡像目錄中并重新命名
5.RUN:在當前鏡像上執(zhí)行Linux命令,這里我執(zhí)行了2個run指令
6.EXPOSE:監(jiān)聽的端口號
7.ENTRYPOINT:讓容器像一個可執(zhí)行程序一樣運行
5.構(gòu)建Docker鏡像
執(zhí)行
mvn clean package -DskipTests docker:build-
控制臺出現(xiàn)
BUILD SUCCESS標識構(gòu)建成功
6.運行docker鏡像
- 連接到docker服務(wù)器
docker images可以看到剛剛構(gòu)建的鏡像 - 執(zhí)行
docker run -d -p 8080:8080 --name docker-app spring-boot-docker:1.1.1 - 返回容器id表示運行成功
-
打開瀏覽器輸入宿主機+端口訪問項目


