maven项目使用idea+docker插件打包docker镜像到linux 服务器上

maven项目,使用idea开发工具,用idea自带的docker插件,打包项目镜像文件到公司的开发服务器中,并在服务器上直接启动镜像文件,成功访问项目。

前提:linux服务器上已经安装了docker

参考几位大佬的文章:

https://www.cnblogs.com/spll/p/10059542.html

https://blog.csdn.net/weixin_42054155/article/details/90815393

自我试验:

目录

一、idea安装并配置docker,生成镜像文件

        1.idea安装docker插件。

        2.配置docker插件 参数,服务器上的docker地址配置在TCP socket中

        3.编写项目中的Dockerfile文件(D一定要大写)并放在项目的根目录下。

        4.编写pom文件

       5.先clean,再package

二、在linux上启动镜像并创建容器

1.先执行docker images命令,查看创建的镜像是否存在

2.已存在:执行创建并运行容器的命令,命令执行后出现一长串数字+英文,表示创建成功

3.查看创建好的、运行中的容器

4.查看所有容器

一、idea安装并配置docker,生成镜像文件

        1.idea安装docker插件。

         idea版本:2020.2.3(这个版本自带docker插件),在plugins中是下面图片的样子:

maven项目使用idea+docker插件打包docker镜像到linux 服务器上_第1张图片

        2.配置docker插件 参数,服务器上的docker地址配置在TCP socket中

maven项目使用idea+docker插件打包docker镜像到linux 服务器上_第2张图片

        3.编写项目中的Dockerfile文件(D一定要大写)并放在项目的根目录下。

# 指定基础镜像
FROM java:8
# 维护者信息
MAINTAINER xxx
# 用于指定持久化目录
VOLUME /tmp
# 将本地文件添加到容器中(这时是打包到本地项目中的target目录下,因为jar有个前缀是target)
ADD target/v2x-information-service-1.0.0.jar informationservice.jar
ADD target/config config
#COPY target/lib
#ADD target/conf
# 指定于外界交互的端口
EXPOSE 12345
#设置时区 run后面
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

# 配置容器,使其可执行化
#ENTRYPOINT exec java -Xms512m -Xmx512m -jar /app.jar
ENTRYPOINT exec java $JAVA_OPTS -jar -Duser.timezone=GMT+08 /informationservice.jar

ENV LC_ALL en_US.UTF-8

        4.编写pom文件


    ${project.artifactId}-${project.version}
    
        
            org.springframework.boot
            spring-boot-maven-plugin
        
        
            org.apache.maven.plugins
            maven-deploy-plugin
            
                true
            
        
        
            com.spotify
            dockerfile-maven-plugin
            1.4.10
            
                
                    default
                    
                        
                        build
                        push
                    
                
            
            
                ${project.artifactId}
                xx.xxx.xxx.xxx:2375
                latest
                ${project.basedir}
                
                    
                    target/${project.build.finalName}.jar
                
            
        
    

       5.先clean,再package

maven项目使用idea+docker插件打包docker镜像到linux 服务器上_第3张图片

此时可以看到项目的target目录下,生成了两个jar、一个original(此时已经把项目和所有配置文件都打包到镜像文件了)

二、在linux上启动镜像并创建容器

1.先执行docker images命令,查看创建的镜像是否存在

2.已存在:执行创建并运行容器的命令,命令执行后出现一长串数字+英文,表示创建成功

docker run -d -p 端口号:端口号 --name name1 name1

-d:后台运行容器,并返回容器ID;

-p:指定端口映射,格式为:主机(宿主)端口:容器端口;(这一步操作是为了映射访问项目的端口号)

--name:为容器指定一个名称;第一个name1:主机名称,第二个name1:自己定义的容器名称

3.查看创建好的、运行中的容器

docker ps

4.查看所有容器

docker ps -a


你可能感兴趣的:(intellij-idea,java,spring,boot,docker)