【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 镜像名称

相关推荐
qq_371802112 小时前
Ubuntu Linux中安装WorkBuddy
linux·运维·服务器·ubuntu
修己xj2 小时前
在 AMD 机器上拉取 ARM 架构 Docker 镜像
docker
逃逸线LOF3 小时前
服务网关Gateway
java·运维·gateway
分布式存储与RustFS4 小时前
OpenSearch 的索引快照别只留本地:用 repository-s3 存进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
瑞克-桑切斯4 小时前
docker Harbor 单机部署手册
大数据·运维·elasticsearch·docker·容器
奶茶树4 小时前
【Linux】环境开发工具(vim,gcc,g++,Makefile)
linux·运维·vim
机 _ 长5 小时前
05 智算运维|8 张卡怎么才算「捆成一张」:NCCL 实测与拓扑
运维·人工智能·算法·智算运维
wzq11_6665 小时前
Kubernetes集群——存储管理
云原生·容器·kubernetes
andxe6 小时前
工业级 PoE 交换机选型指南:破解边缘部署四大核心难题
运维·网络·安全·光通信·交换机