本文由【云老大】 TG@yunlaoda360 撰写
创建谷歌云服务器实例
- 登录谷歌云控制台,选择 “Compute Engine”。
- 点击 “创建实例”,在 “名称” 栏输入实例名称,在 “机器类型” 栏选择合适的硬件配置。
- 在 “启动磁盘” 栏,可选择 “容器镜像”,然后在 “容器镜像” 下拉菜单中选择所需的 Docker 镜像,如 “nvidia/cuda:10.0-base”,点击 “创建”。
连接并安装 Docker
- 在实例列表中找到刚创建的实例,点击 “连接”,选择 “SSH” 方式连接。
- 在 SSH 连接中,执行命令
sudo apt-get update、sudo apt-get install -y docker.io、sudo systemctl start docker、sudo systemctl enable docker安装 Docker,并将其设置为开机自启。
验证 Docker 安装
执行命令 docker --version,若输出 Docker 版本信息则表明安装成功。
选择合适的方法管理部署镜像与容器
-
方法一:Docker 命令行管理
- 拉取镜像 :使用
docker pull [镜像名]拉取镜像,如docker pull nginx。 - 运行容器 :使用
docker run -d -p [宿主机端口]:[容器端口] [镜像名]运行容器,如docker run -d -p 80:80 nginx,将容器 80 端口映射到宿主机 80 端口。 - 查看容器 :使用
docker ps查看运行中的容器,docker ps -a查看所有状态的容器。 - 停止、启动和删除容器 :使用
docker stop <容器ID>、docker start <容器ID>、docker rm <容器ID>对容器进行停止、启动和删除操作。
- 拉取镜像 :使用
-
方法二:Cloud Build 构建推送
- 准备源文件 :创建项目目录,编写应用程序代码文件和 Dockerfile。Dockerfile 用于定义构建镜像所需的步骤,如基础镜像、代码复制、依赖安装、端口暴露和启动命令等。
- 创建 Docker 代码库 :使用 Google Cloud CLI 在 Artifact Registry 中创建 Docker 代码库,如
gcloud artifacts repositories create [代码库名] --repository-format=docker --location=[位置] --description="[描述]"。 - 构建并推送镜像 :在项目目录下运行
gcloud builds submit --tag [代码库地址]/[镜像名],将镜像构建并推送到 Artifact Registry。
-
方法三:Google Kubernetes Engine(GKE)部署
- 创建 GKE 集群 :使用命令
gcloud container clusters create [集群名] --zone [区域]创建 GKE 集群。 - 部署容器 :运行
gcloud container clusters get-credentials [集群名] --zone [区域]登录到 GKE 集群,创建部署配置文件,再用kubectl apply -f [配置文件名]部署容器。 - 查看部署状态 :使用
kubectl get pods等命令查看容器的部署状态。
- 创建 GKE 集群 :使用命令
推送 Docker 镜像到 Google Container Registry(可选)
若要将本地 Docker 镜像推送到 Google Container Registry,可执行以下步骤:
- 登录到 Google Container Registry,运行
gcloud auth login。 - 创建 GCR 仓库,使用
gcloud container registries create [仓库名]。 - 设置仓库访问权限,可执行
gcloud container registries set private [仓库名]将仓库设置为私有。 - 标记并推送镜像,先使用
docker tag [本地镜像名] gcr.io/[项目ID]/[镜像名]标记镜像,再用docker push gcr.io/[项目ID]/[镜像名]推送到 GCR。
配置和优化 Docker 环境(可选)
- 创建 Docker 配置文件 :如需要自定义 Docker 的配置,可创建配置文件,指定 Docker 的行为和特性。
- 优化 Docker 性能 :根据应用需求,可调整容器的资源限制、网络配置等,以优化性能。
- 设置 Docker 自动重启 :为确保容器在服务器重启后能自动运行,可设置 Docker 容器的重启策略,如
docker update --restart=always [容器名]。