docker部署项目

docker 部署项目

1.将项目打包成jar包上传到服务器.

​ 上传命令是使用lrzsz,需要安装

sudo yum -y install lrzsz
rz -b

​ 此时如果在打包过程中出现xxx.jar中没有主清单错误.解决方案:项目中可能使用到spring-boot-starter-parent的依赖,在公司中我们一般使用自己的依赖,所以去掉,加上下面依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>${springcloud.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

然后在加上下面的插件

 <plugin>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-maven-plugin</artifactId>
     <executions>
         <execution>
             <goals>
                 <goal>repackage</goal>
             </goals>
         </execution>
     </executions>
</plugin>

2.编写Dockerfile

命令用途
FROM基础镜像文件
RUN构建镜像阶段执行命令
ADD 添加文件,从src目录复制文件到容器dest,其中可以是一个本地文件或者是一个本地压缩文件(可以是Dockerfile所在目录的一个相对路径),还可以是一个url,路径的填写可以是容器内的绝对路径,也可以是相对于工作目录的相对路径
COPY拷贝文件,不支持URL和压缩包,和ADD命令类似
CMD容器启动执行后执行命令
EXPOSE声明容器在运行时对外提供的服务端口
WORKDIR指定容器工作路径
ENV指定环境变量
ENTRYPOINT容器入口,ENTRYINT和CMD指令是一样的,docker容器启动时执行命令,可多次设置,但是只有最后一个有效
USER指定运行容器时的用户名或UID,后续的 RUN 也会使用指定用户。使用USER指定用户时,可以使用用户名、UID或GID,或是两者的组合。当服务不需要管理员权限时,可以通过该命令指定运行用户。并且可以在之前创建所需要的用户
VOLUME用于指定持久化目录,实现挂载功能,授权访问从容器内到主机上的目录。用于containers之间共享数据,将本地文件夹或者其他容器中的文件夹挂在到这个容器中等
#基于哪个镜像
FROM java:8
#将本地文件挂载到当前容器
VOLUME /tmp
#复制文件到容器
ADD tree-cloud-server-1.0-SNAPSHOT.jar /app.jar
#声明需要暴露的端口
EXPOSE 8081
#配置容器启动后执行的命令
ENTRYPOINT ["java","-jar","/app.jar"]
docker build -t tree-project-eureka8081

3.运行容器

docker run -it -d -p 8888:8081 tree-project-eureka8081
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker项目部署是指使用Docker技术来部署和管理应用程序的过程。Docker是一种开源的容器化平台,可以将应用程序及其依赖项打包成一个容器,并在任何支持Docker的环境中运行。通过使用Docker,可以实现应用程序的快速部署、可移植性和可扩展性。 要开始使用Docker进行项目部署,首先需要安装Docker Engine和containerd。可以使用以下命令安装最新版本的Docker Engine和containerd:yum install docker-ce docker-ce-cli containerd.io 安装完成后,可以使用Docker命令行工具来管理和操作Docker容器。可以使用以下命令来启动和停止容器、查看容器信息等操作。 要卸载Docker引擎、CLI和Containerd包,可以使用以下命令:yum remove docker-ce docker-ce-cli containerd.io 通过Docker部署项目,可以实现应用程序的隔离性、可复制性和高效性。使用Docker可以将应用程序及其依赖项打包成一个容器,使得应用程序在不同环境中都能够一致地运行。同时,Docker还提供了丰富的工具和功能,可以方便地管理和部署多个容器,实现应用程序的快速部署和扩展。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [docker项目部署](https://blog.csdn.net/m0_49556309/article/details/117093002)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [docker部署项目](https://blog.csdn.net/weixin_45607293/article/details/122707731)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值