Docker 与容器

Docker 是一个用于开发、交付和运行应用程序的开放平台。Docker 让你能够将应用程序与基础设施分离,从而快速交付软件。
为什么使用 Docker?
在一个开发者团队中工作意味着要共享代码。当出现问题时,您最不想听到的就是“在我的机器上可以运行”。游戏服务器必须能够在任何机器上可靠运行,因为成功的游戏服务器会在世界各地成千上万台服务器机器上运行。
为了帮助使您的服务器可靠,我们使用 Docker —— 一种虚拟化软件,确保您的所有服务器代码依赖项直到操作系统级别始终完全相同,无论服务器如何或在哪里启动。
容器
一个 容器是软件的标准单元,它将代码打包起来 以及它的所有依赖项,使应用程序能够在不同计算环境之间快速且可靠地运行。容器将软件与其环境隔离开来,并确保即使在例如开发和预发布环境之间存在差异时,也能保持一致运行。
一旦你运行打包好的 docker 镜像,它们就会变成:
容器 如果在 Docker Desktop 或 Docker Engine 中运行(通常在本地),
部署 如果在 Edgegap 上运行(Edge Cloud 和 Private Fleet 均适用)。
容器在 Linux(或 Docker Desktop 中)上原生运行,并与其他容器共享主机机器的内核。它运行一个独立进程,所占内存不比任何其他可执行程序更多,因此非常轻量。

试试看
要使用 docker 并在本地构建或运行 docker 镜像,你需要安装 Docker:
安装完成后,你可以打开任意终端并尝试运行一个测试镜像。
这将自动执行以下步骤:
从 Edgegap 仓库下载 speedtest 镜像(仅第一次)。
在你的机器上使用此镜像创建并启动一个新容器。
将其命名为“speedtest”(使用
--name参数)。暴露一个 应用与版本 以连接你机器的端口
80到容器的端口80,从而让你的机器可以访问容器。
✅ 打开 http://localhost:80 并在你偏好的浏览器中确认容器已成功启动。
当容器运行后,我们可以进行基本交互——重启、停止、监控。
首先,让我们使用你喜欢的终端查看 docker 引擎上正在运行的内容。
这将打印正在运行的容器信息,例如:
你可以运行任意数量的容器。
让我们尝试获取有关容器的更多信息:
你也可以检查你的机器与容器之间共享的网络。
这将打印由你机器上的 docker 引擎运行的网络信息。
你也可以更详细地检查单个网络:
测试完容器后,请务必将其停止,以回收该容器用于运行的资源(CPU 和 RAM):
SSH 隧道
要深入排查服务器问题,你可以在镜像中暴露 SSH 服务,并像连接任何远程主机或虚拟机一样连接到容器或部署。
本地测试
我们需要对你的 Dockerfile 做一些修改。让我们安装 OpenSSH 服务、创建一个带密码的用户,并启用该服务。
之前)
我们还需要在容器中启动 ssh 服务:
✅ 现在 docker build,并测试 docker run 在本地,然后使用 ssh localhost:22.
在云端部署
如果你没有成功使用 Docker 与容器,你可以在部署环境中进行测试。
✅ 登录你的 docker 仓库 和 docker push 新标签:
添加一个 22/TCP 的端口映射,以对应
-p选项来自docker run.
✅ Deploy 并使用分配给 ssh.
的外部 SSH 端口的 URL 或 IP。✅ 测试完成后,停止部署并删除你的测试镜像。
最后更新于
这有帮助吗?

