IDE使用技巧:打包项目推送到docker hub

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDE使用技巧:打包项目推送到docker hub相关的知识,希望对你有一定的参考价值。

前言

idea连接Linux上的docker

  • ​参考​
  • idea安装插件​​Docker integration​
  • 登录到远程服务器,修改docker配置文件
# 修改docker服务文件
vi /lib/systemd/system/docker.service

# 将原来的ExecStart前面加上#号注释掉,然后再下面追加一行
# ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

# 重新加载配置
systemctl daemon-reload

# 重启docker服务
systemctl restart docker.service

IDE使用技巧(三):打包项目推送到docker


IDE使用技巧(三):打包项目推送到docker

创建镜像

<properties>
<java.version>1.8</java.version>
<docker.image.prefix>chniny</docker.image.prefix>
</properties>

<build>
<plugins>
<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​
  • IDE使用技巧(三):打包项目推送到docker


FROM java:8
VOLUME /tmp
COPY target/demo01-0.0.1-SNAPSHOT.jar resource.jar
RUN bash -c "touch /resource.jar"
EXPOSE 8080
ENTRYPOINT ["java","-jar","resource.jar"]
  • 配置dockerfile
  • IDE使用技巧(三):打包项目推送到docker


  • IDE使用技巧(三):打包项目推送到docker

  • ​Image tag​​中chniny表示作者,demo表示镜像名称,1.0表示版本
  • IDE使用技巧(三):打包项目推送到docker


  • IDE使用技巧(三):打包项目推送到docker

    clean package -U -DskipTests
  • 执行dockerfile
  • IDE使用技巧(三):打包项目推送到docker

  • 也可以点这里执行dockerfile
  • IDE使用技巧(三):打包项目推送到docker

  • 执行成功后,会在Linux服务器上生成​​镜像​
  • 启动该镜像,指定端口映射为18080
docker run -d -p 18080:8080 --name docker-resource chniny/demo:1.0
  • 测试容器
# 该项目中写了一个测试接口:http://localhost:8080/test
# 当前容器的映射端口为18080,所在服务器ip为192.168.97.34
# 测试地址:http://192.168.97.34/18080/test

推送镜像

  • ​参考​
  • ​idea连接Linux后使用命令推送​
# 登录docker hub
docker login

# 推送
docker push chniny/demo:1.0
  • 推送成功后,在docker hub上查看
  • IDE使用技巧(三):打包项目推送到docker

  • 推送失败
# 推送失败,报错如下:
denied: requested access to the resource is denied

# 镜像的前缀必须与docker hub的用户名一致
# 解决方案:使用docker tag重新生成镜像,之后再次推送
docker tag 旧前缀/镜像名:版本号 chniny/demo:1.0



以上是关于IDE使用技巧:打包项目推送到docker hub的主要内容,如果未能解决你的问题,请参考以下文章

Docker 将镜像推送到远程仓库

打包docker镜像推送到远程服务器并部署到k8s

项目配置打包项目镜像并推送到镜像仓库

Jenkins-05-Pipeline使用 Docker构建项目并构建进行推送到私有仓库 harbor

docker images备份并推送docker hub命令记录

Gradle打包后自动推送到FTP服务器