Skip to content

Instantly share code, notes, and snippets.

@gudezhi
Last active December 6, 2023 15:21
Show Gist options
  • Save gudezhi/59427757e91dfe43b0305f7318dedfc8 to your computer and use it in GitHub Desktop.
Save gudezhi/59427757e91dfe43b0305f7318dedfc8 to your computer and use it in GitHub Desktop.
docker操作相关

VPS安装Docker

在VPS上安装Docker,可以参考官方文档

确认 VPS 的操作系统

  1. 登录到您的 VPS: 使用 SSH 连接到您的 VPS。您可能需要 VPS 提供的 IP 地址和登录凭证。通常使用以下命令:

    ssh username@your_vps_ip

    其中 username 是您的 VPS 用户名,your_vps_ip 是 VPS 的 IP 地址。

  2. 检查操作系统版本: 登录后,您可以运行以下命令来检查操作系统版本:

    • 对于 Debian/Ubuntu 系统:
      lsb_release -a
    • 对于 CentOS/RHEL 系统:
      cat /etc/redhat-release
    • 对于 Fedora 系统:
      cat /etc/fedora-release
    • 对于其他或通用方法:
      uname -a

安装 Docker

  1. 更新软件包索引(Ubuntu/Debian):

    sudo apt update
  2. 安装所需的依赖项(Ubuntu/Debian):

    sudo apt install apt-transport-https ca-certificates curl software-properties-common
  3. 添加 Docker 的官方 GPG 密钥

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  4. 设置 Docker 仓库: 对于 Ubuntu:

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

    对于 Debian,替换为相应的 Debian 仓库。

  5. 再次更新软件包索引

    sudo apt update
  6. 安装 Docker CE

    sudo apt install docker-ce
    
    sudo apt install docker-compose
  7. 检查 Docker 是否正常运行

    sudo systemctl status docker

    或者运行一个测试容器:

    sudo docker run hello-world

从 GitHub 下载项目

  1. 安装 Git(如果尚未安装):

    sudo apt install git
  2. 克隆 GitHub 仓库

    git clone https://github.com/yourusername/yourrepository.git

    替换为您的 GitHub 仓库 URL。

  3. 进入仓库目录

    cd yourrepository

进入docker bash

docker exec -it container bash

既然您的 Docker Compose 配置包含了一个持久化的数据库卷(leads_emailflow_ai-db-data),并且您不介意丢失数据,那么从零开始搭建环境的步骤大致如下:

  1. 停止并删除当前容器:首先,您需要停止并删除当前运行的容器。可以使用以下命令:

    docker-compose down
  2. 删除数据库卷:由于数据库卷是持久化的,即使您删除并重新创建容器,数据仍然会保留。要完全从零开始,您需要删除这个卷。可以使用以下命令:

    docker volume rm leads_emailflow_ai-db-data

    或者,如果您想删除所有未使用的卷(请谨慎操作,这会删除所有未挂载到容器的卷):

    docker volume prune
  3. 重新构建容器和镜像:如果您对 Dockerfile 或代码做了更改,您可能需要重新构建镜像。可以使用以下命令:

    docker-compose build
  4. 启动新的容器实例:一旦卷被删除,您可以重新启动您的服务。Docker Compose 会为您创建一个新的空数据库卷。使用以下命令:

    docker-compose up -d
  5. 应用数据库迁移:如果您使用 Alembic 管理数据库迁移,您需要再次运行迁移来设置数据库结构。看起来您已经在 Docker Compose 文件中配置了一个 alembic 服务来处理这个过程。您可以运行:

    docker-compose run alembic

    这将会应用所有未执行的迁移到新的数据库。

  6. 验证和测试:在这些步骤完成后,验证您的应用是否正常运行,并进行必要的测试以确保一切如预期工作。

通过上述步骤,您可以完全从零开始重建您的本地开发环境,包括一个全新的数据库实例。这种做法适用于您不介意丢失现有数据库数据的场景。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment