zoukankan      html  css  js  c++  java
  • docker部署一个简单的mian.py项目文件

    安装docker

    yum install -y docker 

    启动docker

    systemctl start docker  

    查询可安装的Python版本,默认centos python 2.7

    docker search python

    拉取Python镜像,默认官方

    docker pull python

    docker使用Python镜像,创建一个容器

    docker run -it python "/bin/bash"
    # 先启动python容器
    pip install sanic
    #安装sanic 框架,可以安装任何你需要的Python模块或者框架

    提交id 55c475c433de , 命名为sanic的容器副本

    docker commit 55c475c433de sanic
    #55c475c433de 容器id 会在你run 运行Python容器之后,返回;

    注:

    docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
    options说明
    -a:提交的镜像作者
    -c:使用Dockerfile指令来创建镜像
    -m:提交时的说明文字
    -p:在commit时,将容器暂停
    # test
    runoob@runoob:~$ docker commit -a "runoob.com" -m "my apache" a404c6c174a2  mymysql:v1 
    sha256:37af1236adef1544e8886be23010b66577647a40bc02c0885a6600b33ee28057
    

    退出容器

    exit 

    在/var/local 下面创建zzy文件夹(mkdir zzy) ,文件夹里面创建main.py (vim main.py)里面启动两个最简单的sanic 接口  

     然后再在同级位置创建Dockerfile,内容如下

    这会告诉容器:

    • FROM sanic   构建一个基于 名称是sanic 的镜像

    • WORKDIR 把工作路径设置成 /zzy

    • COPY 指令将文件和目录复制到容器的文件系统。文件和目录需位于相对于 Dockerfile 的路径中 

    • CMD 设置容器的默认命令为 python main.py

    我理解就是**把 /zzy 文件copy 到 sanic 容器中,然后利用cmd 命令 Python main.py**运行main.py

    具体如果使用dockerfile 方法,我会继续更新

     

    用docker 编译

    docker build -t zzytest . (使用当前目录的 Dockerfile 创建镜像,标签为 zzytest不要忘记后面还有一个 .  !

    创建完这个镜像后,就可以运行了

    docker run -d --name=zzyly -p 80:8080 zzytest

    注:

    docker run --name quotation_api -itd -p 5000:5000
    -v /home/quotation:/code quotation_dev:latest
    -d:让容器在后台运行。
    -P:将容器内部使用的网络端口映射到我们使用的主机上。
    --name为容器命名;
    
    -itd  输入输出终端,后台运行
    -p   host端口:容器端口    用5000是flask默认
    -v  host路径:容器内路径
    最后是使用的镜像名(前面刚用dockerfile build出来的)
    

    现在可以检查有哪些容器

    最后就可以在浏览器好中访问接口了

     

     

  • 相关阅读:
    Github开始强制使用PAT(Personal Access Token)了
    STM32F401的外部中断EXTI
    STM32F401的PWM输出
    STM32F103和STM32F401的ADC多通道采集DMA输出
    nRF24L01无线模块笔记
    51单片机(STC89C52)在Ubuntu下的开发
    51单片机(STC89C52)的中断和定时器
    51单片机的软件和硬件PCA/PWM输出
    Zadig 云原生持续交付 面向开发者设计的开源、高可用 CI/CD
    人生 乐观 悲观 英雄
  • 原文地址:https://www.cnblogs.com/zzy-9318/p/10305268.html
Copyright © 2011-2022 走看看