docker制作本地镜像,在腾讯云上使用k8s集群部署

前言:

腾讯云集群在请求多时可以选择增加集群个数

1. 使用docker制作本地镜像

  1. 编写Dockerfile,注意pip需要换成国内源加速

编写的Dockerfile文件如下:

FROM python:3.6

COPY requirements.txt ./
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir -r requirements.txt
#ENV PATH=$PATH:/model/function.py
COPY . .

CMD ["python","-m","gunicorn", "app:app", "-c", "./gunicorn.conf.py"]
  1. 开启docker desktop
  2. 进入Dockerfile同级目录下build制作镜像
cd G:\env_model_back_end
docker build -t Dockerfile [镜像名]:[镜像版本号] .

注意最后有个.别忘记敲

  1. 测试容器
docker images #查看镜像是否存在

docker run --name testenv -d -p 8765:8765 env_backend_model:0.1 #将镜像端口8765与物理机端口绑定,给container起个名字叫testenv,运行容器

笔者创建的是后端镜像,因此在postman发送请求,测试,200ok,说明后端服务已经存在

开启服务前

docker镜像在线制作 docker镜像制作和K8S_容器

开启服务后

docker镜像在线制作 docker镜像制作和K8S_Dockerfile_02

2. 将本地镜像上传腾讯云镜像仓库

  1. 注册账号,初始化仓库,创建命名空间(namespce),记住账号密码

docker镜像在线制作 docker镜像制作和K8S_Dockerfile_03

  1. 在本地登录
docker login --username=[账号id] ccr.ccs.tencentyun.com

输入密码
  1. 上传
docker tag [id] ccr.ccs.tencentyun.com/[namespce]/[imagename]:[tag]
docker push ccr.ccs.tencentyun.com/[namespce]/[imagename]:[tag]


id通过docker images ls可以查看到
 笔者的命令就是:
docker tag 9096eb0135ce ccr.ccs.tencentyun.com/env_back_end/env_backend_model:0.1
docker push ccr.ccs.tencentyun.com//env_back_end/env_backend_model:0.1

可以将命令写成build.sh方便以后使用

成功后可以在云服务器上看到

docker镜像在线制作 docker镜像制作和K8S_docker_04

3. 在腾讯云服务器创建集群

创建集群

容器服务时,需要先创建集群,容器服务运行在集群中。一个集群由若干节点(云服务器)构成,可运行多个容器服务。

选择重庆地区

手动设置集群密码

其余默认设置或者选择便宜的机型

docker镜像在线制作 docker镜像制作和K8S_Dockerfile_05


docker镜像在线制作 docker镜像制作和K8S_Dockerfile_06

注意我们选择的按需付费,测试完了记得移出此集群,不然会扣费

4. 部署应用

部署应用

点击集群id,选择deployment新建工作负载

docker镜像在线制作 docker镜像制作和K8S_docker镜像在线制作_07

选择镜像,选择版本号

访问设置(service),因为需要提供后端服务,选择公网lb访问

设置服务端口和容器端口

其余可以保持不变

docker镜像在线制作 docker镜像制作和K8S_容器_08

在postman测试,IP地址换成test ipv4

点击[服务与路由]-Service-可以查看ip

docker镜像在线制作 docker镜像制作和K8S_docker镜像在线制作_09


测试成功

docker镜像在线制作 docker镜像制作和K8S_腾讯云_10