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服務 systemctl restart docker重啟docker服務 sudo service docker restart關閉docker service docker stop 關閉docker systemctl stop docker
2.創建springboot項目
利用IDEA快速創建springboot項目:
添加測試Controller
3.配置項目構建信息
在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><!--依賴的基礎鏡像--><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服務器地址
<imageName>spring-boot-docker:1.1.1</imageName> 構建后的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里面的內容做一個簡單的介紹:
1.FROM:指明當前鏡像繼承的基鏡像,編譯當前鏡像時候會自動下載基鏡像2.MAINTAINER:當前鏡像的作者和郵箱,使用空格隔開3.VOLUME:掛載目錄4.ADD:從當前工作目錄復制文件到鏡像目錄中并重新命名5.RUN:在當前鏡像上執行Linux命令,這里我執行了2個run指令6.EXPOSE:監聽的端口號7.ENTRYPOINT:讓容器像一個可執行程序一樣運行
5.構建Docker鏡像
執行 mvn clean package -DskipTests docker:build
控制臺出現 BUILD SUCCESS 標識構建成功
6.運行docker鏡像
連接到docker服務器docker images可以看到剛剛構建的鏡像
執行 docker run -d -p 8080:8080 --name docker-app spring-boot-docker:1.1.1
返回容器id表示運行成功
打開瀏覽器輸入宿主機+端口訪問項目
示例demo地址:https://gitee.com/hawawa/docker_base.git
轉載于:https://blog.51cto.com/13981400/2399449