docker+springboot+idea使用笔记

docker+springboot+idea使用笔记

服务端

服务端修改/usr/lib/systemd/system/docker.service文件
在ExecStart添加-H tcp://0.0.0.0:2375,可自定义端口号

我是腾讯云所以还需要到安全组放行端口

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375
#重新加载配置文件
systemctl daemon-reload    
#重启服务
systemctl restart docker.service 
#查看端口是否开启
netstat -nlpt
#直接curl看是否生效
curl http://127.0.0.1:2375/info

查看所有容器的IP地址

docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
#在其它容器中运行的项目必须要使用此IP地址才可以连接到数据库

idea

打开Idea,从File->Settings->Plugins->Install JetBrains plugin进入插件安装界面,在搜索框中输入docker,可以看到Docker integration,点击右边的Install按钮进行安装。安装后重启Idea。

重启后配置docker,连接到远程docker服务。从File->Settings->Build,Execution,Deployment->Docker打开配置界面。

修改pom文件,添加properties,添加plugin

<properties>
    <java.version>1.8</java.version>
    <docker.image.prefix>YINMK</docker.image.prefix>
</properties> 
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>1.0.0</version>
            <configuration>
                <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                <dockerDirectory></dockerDirectory>
                <resources>
                    <resource>
                        <targetPath>/</targetPath>
                        <directory>${project.build.directory}</directory>
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
            </configuration>
        </plugin>
    </plugins>
</build>

配置Dockerfile文件

在工程根目录下新建Dockerfile文件,没有后缀

FROM java:8
VOLUME /tmp
COPY target/my_blog-0.0.1-SNAPSHOT.jar my_blog.jar
RUN bash -c "touch /my_blog.jar"
EXPOSE 8080
ENTRYPOINT ["java","-jar","my_blog.jar"]

配置docker的Configuration

打开Run/Debug Configurations(就是添加Tomcat服务器的地方)

clean package -U -D skipTests  -P prod


运行docker之后就会发现项目被自动部署到云端

idea控制台中文乱码

1.打开IDEA-HELP  /  Edit Custom VM Options
2.添加代码 -Dfile.encoding=UTF-8