云计算百科
云计算领域专业知识百科平台

腾讯云轻量服务器实现Docker部署项目。

1 运行环境


本次环境为腾讯云服务器,需购买腾讯云服务器,评论区联系8-9折优惠。

CentOS Stream 9

CentOS Stream 是一个开源的Linux发行版,它基于Red Hat Enterprise Linux(RHEL)构建,提供了一个更加灵活的、与上游开发更紧密的环境。

实例规格

  • CPU – 2核 内存 – 4GB
  • 系统盘 – SSD云硬盘 70GB管理快照
  • 流量包 – 600GB/月(带宽 6Mbps)

地域和可用区:成都   |   成都一区

2  安装docker


docker官网 contos安装地址 CentOS作系统 |Docker 文档

2.1卸载旧版本


在安装 Docker Engine 之前,您需要卸载任何冲突的软件包。

sudo dnf remove docker \\
docker-client \\
docker-client-latest \\
docker-common \\
docker-latest \\
docker-latest-logrotate \\
docker-logrotate \\
docker-engine

2.2 使用rpm存储安装


在新主机上首次安装 Docker Engine 之前,您需要 需要设置 Docker 存储库。之后,您可以安装和更新 存储库中的 Docker。

sudo dnf -y install dnf-plugins-core
sudo dnf config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo

2.3 安装


要安装最新版本,请运行:

sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

便捷脚本安装

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh –dry-run

使用 curl 工具,从 https://get.docker.com 下载 Docker 官方安装脚本,并把它保存为本地文件 get-docker.sh。

  • -f:遇到 HTTP 错误时不输出 HTML 错误页面,直接失败。
  • -s:静默模式,不显示进度条和错误信息。
  • -S:配合 -s,遇到错误时显示错误信息。
  • -L:跟随重定向。
  • -o get-docker.sh:把下载的内容保存为 get-docker.sh 文件。

用 root 权限(sudo)执行刚才下载的 get-docker.sh 脚本,并加上 –dry-run 参数。

  • sudo:以管理员权限运行命令。
  • sh ./get-docker.sh:执行下载的安装脚本。
  • –dry-run:试运行模式,不会真正安装 Docker,只会显示如果执行会做哪些操作(即“演练”一下,不会对系统产生实际影响)。

2.4 配置国内镜像源


详情可见教程 |Docker更改为国内镜像源

https://blog.csdn.net/m0_64112669/article/details/147209511?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522132c1daaa52764d5934238b4cf2150e4%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=132c1daaa52764d5934238b4cf2150e4&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-4-147209511-null-null.142^v102^pc_search_result_base3&utm_term=docker%E4%BF%AE%E6%94%B9%E9%95%9C%E5%83%8F%E6%BA%90&spm=1018.2226.3001.4449

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors" :
[
"https://docker.domys.cc",
"https://hub.domys.cc",
"https://docker.m.daocloud.io",
"https://docker.xuanyuan.me",
"https://docker.1ms.run"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

运行上方命令。

文件夹路径/etc/docker下创建daemon.json,写入配置代码,重新加载所有服务配置文件,再重启docker。

查看设置镜像源

docker info

2.5 拉取 nginx 镜像测试


docker pull nginx

没写版本号默认拉取最新版本latest

docker images

docker 运行 nginx

docker run -d -p 80:80 –name mynginx nginx

查看

docker ps

公网ip+80端口测试部署效果

3 项目小实战部署 python Flask 项目

3.1项目信息

python3.8环境

flask框架

对外暴露8080端口

ip:8080接口请求返回'你好,腾讯云'

3.2Dockerfile和app.py文件

Dockerfile

# 指定基础映像
FROM python:3.8

# 维护者信息
LABEL maintainer="sqy@example.com"

# 直接安装 Flask,无需依赖文件
# –no-cache-dir 参数的意思是安装时不使用和不保存 pip 的缓存文件,这样可以减小 Docker 镜像的体积
RUN pip install –no-cache-dir Flask -i https://pypi.tuna.tsinghua.edu.cn/simple
RUN mkdir -p /data/www/

# 负责将 app.py 文件复制到容器内 /data/www/app.py
COPY app.py /data/www/app.py

WORKDIR /data/www
CMD ["python3", "app.py"]

app.py

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
return '你好,腾讯云'

if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080)

3.3构建镜像运行容器

确保Dockerfile、app.py文件在同意目录下。

根据 Dockerfile 构建镜像,镜像名为 sqyflask/web,标签为 1.0。

docker build -t sqyflask/web:1.0 . -f Dockerfile

查看镜像是否构建成功。

docker images

启动容器,映射端口8080到对外80端口。

docker run -d -p 80:8080 –name myfalsk sqyflask/web:1.0

查看运行状况

ip:80测试

进入容器

docker exec -it myfalsk /bin/bash

查看环境

赞(0)
未经允许不得转载:网硕互联帮助中心 » 腾讯云轻量服务器实现Docker部署项目。
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!