Linux环境下使用docker部署项目的几种方式

疯一样的男子
疯一样的男子
发布于 2023-11-16 / 7 阅读
0
0

Linux环境下使用docker部署项目的几种方式

前提条件:安装好docker

可参考

https://lionli.blog.csdn.net/article/details/83153029

方式一:将打包jar直接创建镜像 直接启动对应的镜像即可

1. 上传jar到服务器的指定目录(如上传到 /dockerService/nacos目录下) 如下:

2. 在该目录下创建Dockerfile 文件 命令 :touch Dockerfile 然后编辑改文件 vim Dockerfile 然后将下面的内容复制到Dockerfile文件中

## 基于 Alpine Linux 的 OpenJDK 8 镜像上创建了一个容器,并设置了一些环境变量以及容器启动时的执行命令,用于运行一个 Java 应用程序

# 这行指令表示使用了一个基础镜像 openjdk:8u201-jre-alpine,这是一个包含了 OpenJDK 8 JRE 的 Alpine Linux 镜像,作为构建这个新镜像的基础
FROM openjdk:8u201-jre-alpine 

# 这行指定了镜像的作者或维护者,尽管在 Docker 20.10 版本后已经不再推荐使用 MAINTAINER 指令,而是使用 LABEL 来定义镜像的元数据
MAINTAINER Mr.Liang

# 在镜像中创建了一个目录 /dockerService/ry/nacos,用于存放后续的文件。
RUN mkdir -p /dockerService/ry/nacos

# 设置工作目录为 /dockerService/ry/nacos,以后所有的指令都会在这个目录下执行。
WORKDIR /dockerService/ry/nacos

# 声明容器将会监听 8848 端口,但这并不会使得容器外部立即能够访问该端口,它仅仅是一个声明
# 声明多个端口
EXPOSE 8848
EXPOSE 9848
EXPOSE 9849

# 设置了两个环境变量 TZ 和 JAVA_OPTS。TZ 设为 Asia/Shanghai 用于设置容器的时区,JAVA_OPTS 设为 -Xms256m -Xmx512m 用于设置 Java 虚拟机的初始堆大小和最大堆大小。
ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms64m -Xmx128m"

# 将本地的 ruoyi-nacos.jar 文件复制到镜像中的 ruoyi-nacos.jar,如果本地的ruoyi-nacos.jar不在Dockerfile文件目录下,则前面需要加上对应存放路径
ADD ruoyi-nacos.jar ruoyi-nacos.jar

# 设置容器启动时的默认执行命令。当容器启动时,它会执行这个命令,这里的含义是使用 Java 运行 ruoyi-nacos.jar 这个应用,并将 ${JAVA_OPTS} 变量作为 Java 运行参数传递。
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "ruoyi-nacos.jar", "${JAVA_OPTS}"]

3. 创建好Dockerfile文件之后,执行以下命令 构建名为ry-nacos的镜像(注意最后的 . 表示 Dockerfile 文件在当前目录下 )

  docker build -t ry-nacos .

4. 查看构建后的镜像

  docker images

5. 镜像构建成功之后,就可以运行容器了

  docker run -d --restart=always --name ry-nacos -p 8848:8848 -p 9848:9848 -p 9849:9849 ry-nacos

  ## 命令介绍

  ## docker run: 运行一个 Docker 容器。

  ## -d: 在后台(detached mode)运行容器,使其在后台持续运行而不会占用当前终端。

  ## --restart=always: 设置容器退出时总是重新启动。如果容器意外停止,Docker 将会自动重新启动该容器。

  ## --name ry-nacos: 为容器指定名称为 ry-nacos。这个名称可以用来标识容器,便于后续操作。

  ## -p 8848:8848: 将容器内部的 8848 端口映射到宿主机的 8848 端口。这样可以使得宿主机上的服务可以通过 8848 端口访问容器内的服务。

  ## ry-nacos: 这是指定要运行的镜像的名称。在这里假设 ry-nacos 是一个已经构建好的镜像。

  ## 总体来说,这个命令将以后台模式运行一个名为 ry-nacos 的容器,使用 8848 端口映射容器内部的 8848 端口,并且设置容器在意外停止时自动重新启动。

6. 查看容器是否在运行即可

  docker ps

7. 查看启动日志

  docker logs --since 5m ec02923299cb

  ## 命令介绍

  ## docker logs: 这是一个 Docker 命令,用于查看容器的日志信息。

  ## --since 5m: 这个参数用于指定要获取的日志时间范围。在这个例子中,5m 表示过去的 5 分钟内产生的日志。

  ## ec02923299cb: 这是容器的 ID 或者名称。这个命令会获取标识为 ec02923299cb 的容器的日志信息。

  ## 整个命令的含义是获取容器 ec02923299cb 在过去 5 分钟内生成的日志信息。


评论