2021-07-02

Spring Boot Docker

1.  IDEA中配置Docker

Docker默认只接受本地客户端的请求,为了能够远程访问它,首先要开放Docker的监听端口,允许外部应用可以访问

修改 /lib/systemd/system/docker.service 文件

找到 ExecStart

在后面追加 -H tcp://0.0.0.0:2375

然后重启Docker

接下来就可以在idea中连接docker了

这样就不用登录到服务器上看了,直接在idea中查看即可,而且还有一个好处是,在idea中可以看到容器的日志

2.  Docker安装Redis

https://registry.hub.docker.com/_/redis 

 docker pull redis docker run --name my-redis -p 6380:6379 -d redis

 

这里由于宿主机上已经运行了一个redis并占用6379端口,所以在docker容器里面这个redis服务就映射到6380端口了

接下来,用redis-cli连接试一下

 docker exec -it my-redis /bin/bash 或者 /宿主机Redis安装目录/src/redis-cli -p 6380

用上面的方式直接启动redis的话,采用的是默认配置,默认配置下只允许本机连接,无法远程连接。通常情况下,我们会指定自己的配置文件(此处redis.conf配置文件中 daemonize 设置为 no)

 docker run -v /usr/local/conf:/usr/local/etc/redis --name myredis3 -p 6381:6381 -d redis redis-server /usr/local/etc/redis/redis.conf

3.  使用 docker-maven-plugin 构建镜像

https://github.com/spotify/docker-maven-plugin 

pom.

第一种方式:在pom文件中指定构建信息

 1 <build> 2  <plugins> 3   <plugin> 4    <groupId>org.springframework.boot</groupId> 5    <artifactId>spring-boot-maven-plugin</artifactId> 6   </plugin> 7  8   <plugin> 9    <groupId>com.spotify</groupId>10    <artifactId>docker-maven-plugin</artifactId>11    <version>1.2.2</version>12    <configuration>13     <imageName>example</imageName>14     <dockerHost></dockerHost>15     <baseImage>java</baseImage>16     <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>17     <resources>18      <resource>19       <targetPath>/</targetPath>20       <directory>${project.build.directory}</directory>21       <include>${project.build.finalName}.jar</include>22      </resource>23     </resources>24    </configuration>25   </plugin>26  </plugins>27 </build>

 

构建成功了,但是这个镜像太太太大了

咱们不用 java:8 ,换成 openjdk 试试

https://registry.hub.docker.com/_/openjdk 

 1 <build> 2  <plugins> 3   <plugin> 4    <groupId>org.springframework.boot</groupId> 5    <artifactId>spring-boot-maven-plugin</artifactId> 6   </plugin> 7  8   <plugin> 9    <groupId>com.spotify</groupId>10    <artifactId>docker-maven-plugin</artifactId>11    <version>1.2.2</version>12    <configuration>13     <imageName>cjs/${project.artifactId}</imageName>14     <dockerHost></dockerHost>15     <!--16     <baseImage>java:8</baseImage>17     <baseImage>openjdk:8</baseImage>18     <baseImage>openjdk:8-jre</baseImage>19     <baseImage>openjdk:8-alpine</baseImage>20     -->21     <baseImage>openjdk:8-jre-alpine</baseImage>22     <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>23     <resources>24      <resource>25       <targetPath>/</targetPath>26       <directory>${project.build.directory}</directory>27       <include>${project.build.finalName}.jar</include>28      </resource>29     </resources>30    </configuration>31   </plugin>32  </plugins>33 </build>

 

从结果来看,openjdk:8-jre-alpine 是最小的,openjdk:8-alpine 其次 

第二种方式:指定Dockerfile构建

首先,创建一个Dockerfile文件

 FROM openjdk:8-jdk-alpine COPY hello-docker-0.0.1-SNAPSHOT.jar app.jar ENTRYPOINT ["java","-jar","/app.jar"]

然后,指定Dockerfile文件所在的位置

 1 <build> 2  <plugins> 3   <plugin> 4    <groupId>org.springframework.boot</groupId> 5    <artifactId>spring-boot-maven-plugin</artifactId> 6   </plugin> 7  8   <plugin> 9    <groupId>com.spotify</groupId>10    <artifactId>docker-maven-plugin</artifactId>11    <version>1.2.2</version>12    <configuration>13     <imageName>cjs/${project.artifactId}</imageName>14     <dockerHost></dockerHost>15     <dockerDirectory>src/main/docker</dockerDirectory>16     <resources>17      <resource>18       <targetPath>/</targetPath>19       <directory>${project.build.directory}</directory>20       <include>${project.build.finalName}.jar</include>21      </resource>22     </resources>23     &......

原文转载:http://www.shaoqun.com/a/843138.html

跨境电商:https://www.ikjzd.com/

文化衫事件:https://www.ikjzd.com/w/1932

custommade:https://www.ikjzd.com/w/2514

csa:https://www.ikjzd.com/w/904


1.IDEA中配置DockerDocker默认只接受本地客户端的请求,为了能够远程访问它,首先要开放Docker的监听端口,允许外部应用可以访问修改/lib/systemd/system/docker.service文件找到ExecStart在后面追加-Htcp://0.0.0.0:2375然后重启Docker接下来就可以在idea中连接docker了这样就不用登录到服务器上看了,直接在idea中
【林芝最佳旅游时间】什么时候去林芝最好? :http://www.30bags.com/a/436009.html
【流年之爱20201102】又站在季节的门槛_叶子:http://www.30bags.com/a/219913.html
【流年之爱20201115】以时光之名:http://www.30bags.com/a/221514.html
【留学】英国实行国际旅行交通灯计划!:http://www.30bags.com/a/277433.html
男生㖭我大腿中间的东西 拨开我的内裤坐了下来:http://lady.shaoqun.com/a/248372.html
学长让我上课夹震动捧 少女思春上课偷偷夹笔杆:http://lady.shaoqun.com/a/247384.html
结婚发现老公太大了怎么办 两个人一起会撑坏的:http://lady.shaoqun.com/a/248202.html
口述:异地寻夫 却遭他和小三的毒打(4/4):http://lady.shaoqun.com/a/123608.html
鹤山龙口乡里人家门票2021年7月价格:http://www.30bags.com/a/466647.html
再也不怕收不到短信验证码了!Facebook双重验证备用验证码设置攻略:https://www.ikjzd.com/articles/146330
深入运营之百万美金销售额(一):https://www.ikjzd.com/articles/146327
运价"疯了"!现在运送300个集装箱运费可以买一艘船?黄牛搅局航运市场!外贸物流苦不堪言:https://www.ikjzd.com/articles/146322

No comments:

Post a Comment