【Docker】镜像构建和容器部署

整个流程为:在工程中添加 Dockerfile 配置文件,对工程进行镜像打包build.sh。并把镜像文件推送到本地和远程 Docker 仓库进行部署运行start.sh

本地的 Docker 直接在 IDEA 配置即可启动,远程的服务仓库一种是配置开启2375端口,另外一种把镜像文件推送到 https://hub.docker.com 再通过拉取的方式使用。

Dockerfile文件:负责镜像配置

java 复制代码
# 基础镜像
FROM openjdk:8-jre-slim
# 作者
MAINTAINER iteng
# 配置
ENV PARAMS=""
# 时区
ENV TZ=PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 添加应用
ADD target/chatgpt-api.jar /chatgpt-api.jar
## 在运行容器时执行的命令
ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /chatgpt-api.jar $PARAMS"]

build.sh:构建镜像(先Maven Install构建jar包,再执行build.sh

java 复制代码
docker build -f ./Dockerfile -t iteng/chatgpt-api .
  • -t 是 --tag 的缩写,用于给构建的镜像打标签(tag)。
  • iteng/chatgpt-api 是镜像的名称。

start.sh:从镜像创建并启动一个新的容器

java 复制代码
docker run -p 8090:8090 \
--name chatgpt-api \
-d iteng/chatgpt-api

-p 8080:8080 宿主机的端口 8090 映射到容器的端口 8090。

--name 创建的容器名称

-d 后台运行

iteng/chatgpt-api 镜像名称

相关推荐
成都古河云1 小时前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市
算法与编程之美1 小时前
文件的写入与读取
linux·运维·服务器
Amelio_Ming1 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh
心灵彼岸-诗和远方1 小时前
Devops业务价值流:软件研发最佳实践
运维·产品经理·devops
JuiceFS2 小时前
好未来:多云环境下基于 JuiceFS 建设低运维模型仓库
运维·云原生
Ven%2 小时前
centos查看硬盘资源使用情况命令大全
linux·运维·centos
景天科技苑3 小时前
【云原生开发】K8S多集群资源管理平台架构设计
云原生·容器·kubernetes·k8s·云原生开发·k8s管理系统
萨格拉斯救世主3 小时前
戴尔R930服务器增加 Intel X710-DA2双万兆光口含模块
运维·服务器
Jtti3 小时前
Windows系统服务器怎么设置远程连接?详细步骤
运维·服务器·windows
yeyuningzi3 小时前
Debian 12环境里部署nginx步骤记录
linux·运维·服务器