一、配置Dockerfile文件,上传至jar包存放的位置中,文件内容为:
### va环境镜像,指定jdk版本
FROM openjdk:17
### 指定存储在容器内的目录
WORKDIR /usr/local/custom
###声明启动端口号
EXPOSE 8011
###配置容器启动后执行的命令
ENTRYPOINT ["java", "-jar", "jar包名称.jar"]
二、构建镜像
docker build -t 镜像名称 .
这个命令用于构建Docker镜像。下面是每个参数的详细解释:
docker build
: 这是Docker的基本命令,用于构建一个新的Docker镜像。-t 镜像名称
: 这个选项用于给新构建的镜像指定一个名称,这个名字可以用于后续引用或推送这个镜像。.
: 这表示Dockerfile位于当前目录。Docker将使用当前目录下的Dockerfile来构建新的镜像。
注意:在运行这个命令之前,你需要确保当前目录下有一个有效的Dockerfile。
三、运行容器
docker run \
--restart=always \
--net=host \
--name 容器名称 \
-v /home/data-reporting/provider:/usr/local/custom \
-v /etc/localtime:/etc/localtime \
-d 容器名称
这是一个Docker命令,用于运行一个名为"data-upload-provider"的容器。这个命令的具体含义如下:
docker run
:这是Docker的基本命令,用于运行一个新的容器。--restart=always
:这个选项表示如果容器停止运行,Docker将尝试始终重新启动它。--net=host
:这个选项表示容器将使用主机的网络命名空间,这意味着容器将共享主机的网络栈。--name 容器名称
:这个选项为容器指定一个名称。-v /home/data-reporting/provider:/usr/local/custom
:这个选项表示将主机上的/home/data-reporting/provider
目录挂载到容器的/usr/local/custom
目录。这样,容器可以访问和修改主机上的这个目录。-v /etc/localtime:/etc/localtime
:这个选项表示将主机上的/etc/localtime
文件挂载到容器的/etc/localtime
。这样,容器可以访问和修改主机上的这个文件,以保持容器内的时间与主机上的时间一致。-d 容器名称
:这个选项表示以后台模式运行容器。
注意:如果容器启动成功后日期不对,将使用以下命令调整
进入容器命令
docker exec -it ymt-statistics /bin/bash
修改容器内时区命令,如果第一个命令不起作用再执行第二个
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo 'Asia/Shanghai' >/etc/timezone