(1)Windows 文件夹目录结构如下(此时myapp为空目录):
(2)Dockerfile内容如下:
FROM python:3.6.0
MAINTAINER deng
COPY requirements.txt requirements.txt
RUN pip install -i https://pypi.douban.com/simple -r requirements.txt
(3)requirements(即python工程所依赖的所有包)内容如下:
pandas==0.23.0
beautifulsoup4
pyquery
numpy
flask
pymongo
requests
lxml
redis
(4)进入python文件夹,执行 docker build -t python:3.6
,执行过程如下:
如果出现如下错误:
pip._vendor.requests.packages.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='pypi.doubanio.com', port=443): Read timed out. You are using pip version 9.0.1, however version 19.3.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
原因可能是: requirements里面包含有 python原生的库,去除即可。重新执行 docker build -t python:3.6
,结果如下:
(5)创建完成后,我们可以在本地的镜像列表里查找到刚刚创建的镜像:
在D:\code\docker\python\myapp下创建helloDocker.py文件,内容如下:
#!/usr/bin/python
print("Hello, World!");
(6)运行容器: docker run -v D:\code\docker\python\myapp:/usr/src/myapp -w /usr/src/myapp python:3.6 python helloDocker.py
命令说明:
-v D:\code\docker\python\myapp:/usr/src/myapp
: 将本地中指定目录的 myapp 挂载到容器的 /usr/src/myapp。
-w /usr/src/myapp
: 指定容器的 /usr/src/myapp 目录为工作目录。
python helloDocker.py
: 使用容器的 python 命令来执行工作目录中的 helloDocker.py 文件。
执行时,需要输入win10系统用户的密码,可以自行百度设置一下。
执行结果:
(7)启动容器(和上一步运行容器不同,这一步相当于持久化):
docker run -itd --name python-test python:3.6
这时,可通过docker ps
查看已启动的容器:
通过 docker exec -it python-test /bin/bash
进入python容器:
over.