天天看点

docker-compose 编排python容器docker-compose 编排python容器

docker-compose 编排python容器

文章目录

  • docker-compose 编排python容器
    • 一、配置相关挂载目录及其文件
      • 1、 创建需要挂载的相应的挂载目录
    • 二、编写容器编排文件
    • 三、运行及查看
docker-compose 编排python容器docker-compose 编排python容器

目录结构

一、配置相关挂载目录及其文件

1、 创建需要挂载的相应的挂载目录

mkdir -p /root/pythondocker/
           

二、编写容器编排文件

docker-compose.yml,注意格式缩进

version: '3'
services:
    python:
        image: python:3.7
        container_name: docker-python-demo
        ports:
            - "8080:8080"
        volumes: 
            - /root/pythondocker:/code
        privileged: true
        command: bash /code/run.sh
           

requirements.txt

flask
           

run.sh

pip install -r /code/requirements.txt -i https://pypi.douban.com/simple
python /code/server.py
           

server.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

@app.route('/h')
def hello_world1():
    return 'Hello World zhangsan'
if __name__ == '__main__':
    app.run(host='0.0.0.0', port='8080')
           

三、运行及查看

[[email protected] pythondocker]# docker-compose ps
       Name               Command        State           Ports
-----------------------------------------------------------------------
docker-python-demo   bash /code/run.sh   Up      0.0.0.0:8080->8080/tcp
           

修改server.py,需要重启

server.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

@app.route('/h')
def hello_world1():
    return 'Hello World zhangsan'
if __name__ == '__main__':
           

重启容器

[[email protected] pythondocker]# docker-compose stop python
Stopping docker-python-demo ... done
[[email protected] pythondocker]# docker-compose ps
       Name               Command         State     Ports
---------------------------------------------------------
docker-python-demo   bash /code/run.sh   Exit 137
[[email protected] pythondocker]# docker-compose start python
Starting python ... done
[[email protected] pythondocker]# curl localhost:8080/h
Hello World zhangsan
[[email protected] pythondocker]# curl localhost:8080/
Hello World!
           

进步ing

  • docker-compose 编排python容器
  • Python容器外部挂载虚拟环境以及项目探讨
  • docker-compose 编排mysql容器
  • docker-compose 编排超小nginx容器
  • Docker Nginx服务器部署简单静态网页
  • docker-compose 编排Apache服务器(httpd)
  • 远程连接docker中mysql容器
  • docker-compose容器编排综合(nginx+apache+flask)