CentOS安装docker

安装Docker依赖项:Docker需要一些依赖项来运行。运行以下命令来安装这些依赖项:

1
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加Docker官方仓库:Docker官方提供了用于安装Docker的仓库。运行以下命令来添加Docker官方仓库:

1
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装Docker引擎:运行以下命令来安装Docker引擎:

1
sudo yum install -y docker-ce docker-ce-cli containerd.io

启动Docker服务:安装完成后,启动Docker服务并设置为开机自启:

1
2
sudo systemctl start docker
sudo systemctl enable docker

验证安装:运行以下命令来验证Docker是否安装成功:

1
sudo docker version

Windows部署(失败)

安装 Docker Desktop:https://www.docker.com/products/docker-desktop/

打开 Hyper-V:

image.png

WSL安装:https://learn.microsoft.com/zh-cn/windows/wsl/install

Linux部署

腾讯云的镜像仓库的使用:https://cloud.tencent.com/developer/article/2273451?from=15425

腾讯云后台:https://console.cloud.tencent.com/tcr/repository/

快捷操作:

image.png

image.png

镜像上传成功

image.png

Dockerfile运行的两种方式

  • 指定应用程序
1
ENTRYPOINT ["./startup.sh"]
  • 命令行
1
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

deploy.sh 文件的作用

实现一键部署,简化打镜像流程,例如:

1
2
3
4
5
6
git pull
docker build . -t kf_data_common:"${1}"
docker tag kf_data_common:"${1}" ccr.ccs.tencentyun.com/yunting-spider/kf_data_common:"${1}"
docker push ccr.ccs.tencentyun.com/yunting-spider/kf_data_common:"${1}"
docker rmi ccr.ccs.tencentyun.com/yunting-spider/kf_data_common:"${1}"
echo kf_data_common:"${1}"

常用命令:

  • docker logs guxiang –tail 50

  • docker rm / rmi

  • docker exec -it xxx /bin/bash

  • docker cp /root/spider/kf_increase guxiang:/root

实战经验

下面是使用 Linux 部署 FastAPI 的 Docker 容器,并能持续运行,并将容器上传到腾讯云镜像仓库的完整流程:

  1. 在本地创建一个名为 Dockerfile 的文件,并使用文本编辑器打开它。

  2. Dockerfile 中添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 使用 Python 3.8 作为基础镜像,vpn必须开全局代理
FROM python:3.8-slim

# 设置工作目录
WORKDIR /app

# 复制项目文件到容器中
COPY . /app

# 安装依赖包
RUN pip install --no-cache-dir -r requirements.txt

# 暴露端口
EXPOSE 8000

# 启动应用
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
  1. 在项目根目录下创建一个名为 requirements.txt 的文件,并将 FastAPI 和其他依赖项添加到该文件中。例如:
1
2
fastapi
uvicorn
  1. 打开终端,进入项目根目录,执行以下命令构建 Docker 镜像:
1
docker build -t fastapi-app .

这将使用 Dockerfile 构建一个名为 fastapi-app 的 Docker 镜像。

  1. 运行以下命令启动 Docker 容器:
1
docker run -d -p 8000:8000 --name fastapi-container fastapi-app

这将在后台运行一个名为 fastapi-container 的容器,并将容器的 8000 端口映射到主机的 8000 端口。

  1. 登录到腾讯云镜像仓库,使用以下命令:
1
docker login --username=<腾讯云用户名> --password=<腾讯云密码> <腾讯云镜像仓库地址>

请将 <腾讯云用户名><腾讯云密码><腾讯云镜像仓库地址> 替换为您自己的信息。

  1. 为镜像打上标签,使用以下命令:
1
docker tag fastapi-app <腾讯云镜像仓库地址>/<镜像名称>:<标签>

请将 <腾讯云镜像仓库地址><镜像名称><标签> 替换为您自己的信息。

  1. 推送镜像到腾讯云镜像仓库,使用以下命令:
1
docker push <腾讯云镜像仓库地址>/<镜像名称>:<标签>

请将 <腾讯云镜像仓库地址><镜像名称><标签> 替换为您自己的信息。

完成上述步骤后,您的 FastAPI 应用程序将以 Docker 容器的形式运行,并且镜像已成功上传到腾讯云镜像仓库中。