展开全部 ↓

Docker的使用

Docker 是一种容器化技术,它可以把应用程序、运行环境、依赖库和配置文件一起打包成镜像,再通过容器运行起来。相比直接部署在服务器上,Docker 更容易做到环境一致、快速发布、快速回滚和服务隔离。 Docker 是什么 在没有 Docker 之前,我们部署一个服务通常需要在服务器上安装语言环境、依赖包、配置数据库连接、开放端口等。不同服务器的系统版本、依赖版本、环境变量只要有一点不同,就可能出现“本地能跑,线上不能跑”的问题。 Docker 解决的核心问题就是:把应用和运行环境一起打包,让应用在不同机器上尽量保持一致的运行结果。 Docker 中有几个重要概念: 镜像(Image):应用的只读模板,里面包含代码、依赖、运行环境等。 容器(Container):镜像运行起来之后的实例,可以理解成一个轻量级的独立运行环境。 Dockerfile:用于描述如何构建镜像的脚本文件。 仓库(Registry):存放镜像的地方,比如 Docker Hub、Harbor、阿里云镜像仓库。 数据卷(Volume):用于持久化容器数据,避免容器删除后数据丢失。 网络(Network):用于容器之间或容器与宿主机之间通信。 Docker 的基本命令 查看版本和运行状态 1 2 docker version docker info 拉取镜像 1 2 3 docker pull nginx docker pull mysql:8.0 docker pull redis:7 镜像名后面的 :8.0、:7 是标签(tag),通常用来区分版本。如果不写 tag,默认使用 latest,但生产环境不建议依赖 latest,最好固定明确版本。 查看本地镜像 1 docker images 运行容器 1 docker run -d --name my-nginx -p 8080:80 nginx 参数说明: -d:后台运行。 --name my-nginx:给容器起名。 -p 8080:80:把宿主机的 8080 端口映射到容器内的 80 端口。 nginx:使用的镜像名。 访问 http://localhost:8080 就能看到 nginx 页面。 ...

April 20, 2026 · 5 min

泰拉瑞亚服务器开服教程|Docker镜像打包部署实战

Terraria Server Docker 教程 教你学会如何把 Terraria Linux 服务端打成 Docker 镜像,并用 Docker Compose 在 x86_64 Linux 服务器运行。本教程从 Dockerfile、启动脚本到 docker-compose.yml,一步步解释原理与用法,并包含多实例部署方式。 首先在泰拉瑞亚服务端下载页面最下方点击PC Dedicated Server下载服务端 目录结构 Dockerfile:镜像构建文件(原生运行) entrypoint.sh:启动脚本,自动生成 serverconfig.txt docker-compose.yml:单实例编排 docker-compose.multi.yml:多实例编排(普通/专家/大师) data/ / data-normal / data-expert / data-master:持久化目录 一、Dockerfile:把服务端打进镜像 Dockerfile 的核心目标是: 选择基础Linux镜像(这里是 Debian) 安装必要运行库 把服务端文件复制进去 设置启动脚本 Dockerfile 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 # 基础镜像:Debian 稳定版(包含 glibc,兼容性好) FROM debian:bookworm-slim # 入口脚本需要的默认环境变量 ENV TERRARIA_HOME=/opt/terraria \ TERRARIA_DATA=/data # 安装运行原生服务端所需的运行库 # --no-install-recommends:减少镜像体积 # 清理 apt 缓存以减少镜像大小 RUN apt-get update \ && apt-get install -y --no-install-recommends \ ca-certificates \ libstdc++6 \ libgcc-s1 \ && rm -rf /var/lib/apt/lists/* # 设置容器内工作目录 WORKDIR ${TERRARIA_HOME} # 复制服务端文件到镜像内 COPY . ${TERRARIA_HOME} # 确保二进制可执行 RUN chmod +x /opt/terraria/TerrariaServer.bin.x86_64 # 拷贝启动脚本 COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh # 元信息:声明服务端监听端口 EXPOSE 7777/tcp # 声明数据卷:世界/配置放在 /data VOLUME ["/data"] # 容器启动时执行入口脚本 ENTRYPOINT ["/entrypoint.sh"] 关键点 libstdc++6 / libgcc-s1:Terraria 原生二进制依赖的运行库 VOLUME ["/data"]:让世界文件与配置落在数据卷(容器可删除,数据仍在) ENTRYPOINT:容器启动时执行脚本 二、entrypoint.sh:启动脚本与自动配置 目标: ...

February 9, 2026 · 5 min
留言