將springBoot專案打成映象並建立容器,啟動容器,訪問專案過程
1.安裝docker就不說了
2.安裝docker 的 nexus倉庫
(1)拉取私有倉庫映象
docker pull registry
(2)啟動私有倉庫容器
docker run -di --name=registry -p 5000:5000 registry
(3)開啟瀏覽器 輸入地址http://192.168.184.141:5000/v2/_catalog看到`{"repositories":[]}` 表示私有倉庫搭建成功並且內容為空
(4)修改daemon.json
vi /etc/docker/daemon.json
新增以下內容,儲存退出。
{"insecure-registries":["192.168.184.141:5000"]}
此步用於讓 docker信任私有倉庫地址
(5)重啟docker 服務
systemctl restart docker
3.測試nexus倉庫是否好使
映象上傳至私有倉庫
(1)標記此映象為私有倉庫的映象
docker tag jdk1.8 192.168.184.141:5000/jdk1.8
(2)再次啟動私服容器
docker start registry
(3)上傳標記的映象
docker push 192.168.184.141:5000/jdk1.8
4.讓docker可以被客戶端訪問
(1)修改宿主機的docker配置,讓其可以遠端訪問
vi /lib/systemd/system/docker.service
其中ExecStart=後新增配置 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
(2)重新整理配置,重啟服務
systemctl daemon-reload systemctl restart docker docker start registry
5.在pom.xml中新增如下配置
<build> <finalName>app</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- docker的maven外掛,官網:https://github.com/spotify/docker-maven-plugin --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.13</version> <configuration> <imageName>192.168.249.128:5000/${project.artifactId}:${project.version}</imageName> <baseImage>jdk1.8</baseImage> <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> <dockerHost>http://192.168.249.128:2375</dockerHost> </configuration> </plugin> </plugins> </build>
6.在cmd中進入到專案目錄
(1)執行 mvn install
#:在執行下面這條命令的時候,要保證你的nexus是開著的呢,不然會找不到nexus
(2) mvn docker:build -DpushImage
7.根據映象,建立容器並啟動
docker run -di --name=spring-boot -p:8081:8081 192.168.249.128:5000/spring-boot:0.0.1-SNAPSHOT
8.訪問專案