Docker容器入門之一:部署SpringBoot專案
阿新 • • 發佈:2019-01-06
一、環境準備:
1、vm虛擬機器: Workstation 12 Pro 12.5.7 build-5813279
2、Centos 7
在虛擬機器上安裝好Centos7系統後,就可以開始準備安裝Docker了。由於不想每次都敲sudo去獲取許可權什麼的,本人直接是使用root賬號登入的。下面開始正文。
二、Docker安裝和配置
1、安裝方式一:
[[email protected] ~]# yum install docker
2、安裝方式二:
[[email protected] ~]# curl -fsSL https://get.docker.com/|sh
上面兩種方法都可以進行安裝,只不過方式二的版本會更加新。接下來等待安裝完成。
3、檢查是否安裝成功:
[[email protected] ~]# docker version
成功後會輸出以下資訊(Client有資訊即可):4、啟動Docker服務並設定開機啟動:
[[email protected] ~]# systemctl start docker
[[email protected] ~]# systemctl enable docker
5、配置下國內映象服務(不是必須):
vim /etc/docker/daemon.json { "registry-mirrors": ["https://aj2rgad5.mirror.aliyuncs.com"] }
Ps: 這裡格式一定要正確,標準的json格式,不然服務不能啟動!!!
6、配置遠端連線(後續要用):vim /usr/lib/systemd/system/docker.service
找到文中如下行:
ExecStart=/usr/bin/dockerd
將其修改為:ExecStart=/usr/bin/dockerd -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock
127.0.0.1修改為當前虛擬機器內的Ip既可。注:配置生效後可用:curl 127.0.0.1:2375測試是否成功。
成功會顯示:
7、重啟服務使配置生效:
[[email protected] ~]# systemctl deamon-reload
[ [email protected] ~]# systemctl restart docker.service
到此為止Docker的部分基本已經完成!恭喜!恭喜!(Ps:我剛開始的時候怎麼就這麼不順利呢orz!)
三、SpringBoot專案的容器化
1、通過Spring Initializr快速建立一個SpringBoot專案,然後簡單寫一個控制器:
然後在POM里加入Docker的外掛:
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<imageName>spring/${project.artifactId}</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<dockerHost>http://127.0.0.1:2375</dockerHost>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
這裡注意兩個標籤:
<imageName>:這個是映象的名稱,上述的映象名稱就是: spring/docekertest
<docherHost>:這個是容器服務的IP地址,就是虛擬機器上的IP,請務必替換掉!
二:編寫Dockerfile:
建立檔案,結構如下:
內容如下:
FROM java
VOLUME /tmp
ADD dockertest-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
先啟動專案測試下: OK!
然後就是打包了: 先package 生成jar包 再 docker:build 等待完成。
成功資訊:
到此這個專案已經變成映象了,可以使用容器去啟動了。
四、啟動容器
讓我們切回虛擬機器,開啟終端,輸入如下命令:[[email protected] ~]# docker run -p 8080:8080 -t spring/dockertest
出現熟悉的Springboot啟動Banner 成功!
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.13.RELEASE)
這時候切回Windows開啟瀏覽器輸入 Docker的服務IP:8080就可以訪問專案了!
大功告成!
ps:也是經過一天的時間不斷實踐網上各位大神們的經驗,再結合自己的實際體驗,整理出來的一篇文章。希望能幫到其他人吧