您好,欢迎访问代理记账网站
移动应用 微信公众号 联系我们

咨询热线 -

电话 15988168888

联系客服
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

超清晰步骤 制作自己的python3.6版本docker镜像并发布

文章目录

  • 前言
  • 一、预备
  • 二、步骤
    • 1.从官方拉取基本python3.6镜像
    • 2.新建一个文件夹用于制作自己的镜像
    • 3. 构建镜像
    • 4. 发布到自己的docker库
    • 5. 拉取自己镜像试试
  • 总结


前言

好处在于比如在服务器上,mac(尤其是mac 这玩意安装个环境可麻烦),pc等各个地方都不用再配置一遍py3.6 和里面的一些特定版本的包。docker 挺不错hhhh

我需要python3.6版本环境 ----- 新加依赖:
anyio3.5.0
fastapi
0.75.0
mavsdk0.23.0
uvicorn
0.16.0
等 也可自定义
步骤如下:


一、预备

docker基本知识
本文在ubuntu中制作的

二、步骤

1.从官方拉取基本python3.6镜像

官网显示只支持到3.7 但可以直接拉取:

sudo docker pull python:3.6

查看已有镜像 是否拉取成功:

sudo docker images

2.新建一个文件夹用于制作自己的镜像

文件夹中要有以下文件:

  1. Dockerfile (没有文件类型后缀 名字可以改 不过最好是这个)
    步骤:

     touch Dockerfile
     vim Dockerfile
     写入:
     FROM python:3.6
     ADD . /code
     WORKDIR /code
     EXPOSE 77
     RUN pip install -r requirements.txt -i https://pypi.doubanio.com/simple/
     CMD echo "------py3.6 for uav-----"
     CMD /bin/bash
     查看检查一下:
     cat Dockerfile
    
  2. requirements.txt
    这里面写入想要的依赖们
    可以在我基础上改:

    aioconsole==0.3.3
    aiogrpc==1.8
    anyio==3.5.0
    asgiref==3.4.1
    click==8.0.4
    colorama==0.4.4
    contextlib2==21.6.0
    contextvars==2.4
    dataclasses==0.8
    fastapi==0.75.0
    grpcio==1.44.0
    h11==0.13.0
    idna==3.3
    immutables==0.16
    importlib-metadata==4.8.3
    importlib-resources==5.4.0
    mavsdk==0.23.0
    protobuf==3.19.4
    pydantic==1.9.0
    six==1.16.0
    sniffio==1.2.0
    starlette==0.17.1
    typing_extensions==4.1.1
    uvicorn==0.16.0
    zipp==3.6.0
    
  3. app 文件夹 用以存放你自己的项目文件

3. 构建镜像

在步骤2的新建文件夹中(这样Dockerfile位置就好写了 直接写Dockerfile):

docker build -f Dockerfile位置 -t 自定镜像名:版本号 .

例如我的

docker build -f Dockerfile -t skpy36uav:1.0 .

4. 发布到自己的docker库

  1. 首先得有docker账号 去官网注册https://www.docker.com/

  2. 登陆docker

    sudo docker login
    
  3. 给刚才自己构建的镜像打个tag(一定要打 不然总出错)

    sudo docker tag 自定镜像名:版本号 自己docker名/自定镜像名:版本号
    

    我的:

    sudo docker tag skpy36uav:1.0 kaesarsk/skpy36uav:1.0
    
  4. push

    sudo docker push 自己docker名/自定镜像名:版本号
    

5. 拉取自己镜像试试

sudo docker pull 自己docker名/自定镜像名:版本号

总结


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进