内部python环境

构建python

Dockerfile

如果python版本不支持,自己改成docker有的且支持的版本

# 基于镜像基础
FROM python:3.9-slim
  
# 设置代码文件夹工作目录 /app
WORKDIR /app
  
# 复制当前代码文件到容器中 /app
ADD server.py /server.py
  
EXPOSE 8001
server.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: liuhaomin
# @Date: 2021-01-19 14:50:02
# @Last Modified time: 2021-01-19 14:57:56
# @Description:
import socket

def handle_request(client):
    client.send("HTTP/1.1 200 OK\r\n\r\n".encode("UTF-8"))
    data = "Hello World!"
    client.send(data .encode('utf-8'))
def main():
    sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    host = socket.gethostname() 
    port = 8001
    sock.bind((host,port))
    sock.listen(5)
    while True:
        connection,address=sock.accept()
        handle_request(connection)
        connection.close()

if __name__ == '__main__':
    main()
构建
# 打包镜像
docker build -t 192.168.0.24:1180/magic/magic-python:1.0.0 .
# 展示镜像
docker images | grep magic-python
# 保存镜像
docker save -o magic-python.tar 192.168.0.24:1180/magic/magic-python:1.0.0

直接使用

导入
docker load < magic-python.tar
docker-compose.yml
version: '3'
services:
  magic-python:
    image: 192.168.0.24:1180/magic/magic-python:1.0.0
    hostname: magic-python
    container_name: magic-python
    command:  ['python', '/server.py']
    ports:
      - "8001:8001"
    restart: always
    volumes:
      - /home/magic/python/app:/app
启动
docker-compose up -d 
访问
curl localhost:8001

在这里插入图片描述

或者http://ip:8001
在这里插入图片描述

执行其他python文件

创建一个 helloworld.py 文件,代码如下:

#!/usr/bin/python

print("Hello, World!");

copy helloworld.py到 /home/magic/python/app目录,执行文件

docker exec -it magic-python /bin/sh -c 'python helloworld.py'

直接下载官方的

外网环境下

下载python
docker pull python:3.9-slim
打包python
docker save -o ./python3.tar python:3.9-slim

内网环境

导入python

docker load < python3.tar

创建demo

在 ~/myapp 目录下创建一个 helloworld.py 文件,代码如下:

#!/usr/bin/python

print("Hello, World!");

执行python

docker run -v $PWD/app:/app -w /app python:3.9-slim python helloworld.py
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐