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

相关推荐
Olrookie9 分钟前
MySQL运维常用SQL
运维·数据库·sql·mysql·dba
hweiyu0033 分钟前
Linux运维实战:云原生设计与实施Docker&K8S(视频教程)
linux·运维·云原生
blackorbird36 分钟前
使用 Overpass Turbo 查找监控摄像头
运维·服务器·数据库·windows
小白不想白a1 小时前
【shell】每日shell练习(系统用户安全审计/系统日志错误分析)
linux·运维·云原生
SelectDB技术团队1 小时前
Apache Doris 与 ClickHouse:运维与开源闭源对比
运维·clickhouse·apache
YongCheng_Liang1 小时前
Oracle数据库基本命令的8个模块
运维·数据库·oracle
Cx330❀2 小时前
《Linux基础入门指令(二)》:从零开始理解Linux系统
linux·运维·服务器·网络·经验分享
梁正雄2 小时前
扩展-docker-ovs编译
运维·docker·容器
是良辰2 小时前
Linux 服务器NFS文件共享
运维·服务器
_dindong2 小时前
Linux网络编程:Socket编程预备
linux·运维·网络·学习