Tag:

Docker Python设置utf-8语言环境

我试图运行我的python文件,首先读取中文string并打印出来。 这是我的Dockerfile FROM python:2.7-onbuild ENV LANG en_US.UTF-8 ADD . /code WORKDIR /code RUN pip install -r requirements.txt CMD ["python", "app.py"] 这是我的Python文件: # -*- coding: utf-8 -*- import jieba s = "我来到北京清华大学" s = s.decode('utf-8') print type(s), s 然后我运行: docker build -t python-example . docker run python-example 我得到的错误: UnicodeEncodeError: 'ascii' codec can't encode characters in position […]

如何迭代开发与docker?

如何使用Docker迭代开发他们的应用程序? 我只是刚刚开始使用它,而且我的工作stream程非常缓慢,所以我很确定我错误地使用了它。 我正在Youtube上跟随一个python机器学习课程,所以我使用Docker来处理python 3.我知道我可以使用virtualenv或虚拟机,但是我也想学习Docker,所以请耐心等待。 我的根目录如下所示: Dockerfile main.py* 我的docker文件: FROM python COPY . /src RUN pip install quandl RUN pip install pandas CMD ["python", "/src/main.py"] 和Python文件: #!/usr/bin/env python import pandas as pd import quandl print("Hello world from main.py") df = quandl.get("WIKI/GOOGL") print("getting data frame for WIKI/GOOGL") print(df.head()) 我的工作stream程是: 从教程中学习一些新东西 更新python文件 构builddocker镜像: docker build -t myapp . […]

Docker开发环境中丰富的编辑器

所以我的团队和我已经买进了Docker – 这对于部署和testing来说太棒了。 我真正的问题是如何build立一个伟大的开发人员的经验,特别是在编写Python应用程序,但是这个问题可以推广到nodejs,Java等。 问题是:在编写Python应用程序时,我真的很喜欢体面的linting / autocompletefunction,有一些非常好的编辑器(Atom,VSCode,PyCharm)提供这些function,但是大多数情况下需要在本地磁盘上安装Python。 Docker的真正优势在于,所有的核心语言和任何项目库都可以放在容器中,所以为了开发而在主机上重现所有这一切是一个痛苦。 我知道PyCharm pro支持Docker和docker-compose,但是我发现它非常缓慢,很多testing运行能力都被破坏了。 最重要的是,我真的很希望我可以提交给版本控制的东西,这样团队就可以共享开发者设置,人们不必为自己的系统重复所有的步骤。 我有几个想法是: 在sidecar Docker容器中安装一个编辑器(如Atom),并使用X11转发 在容器中使用基于浏览器的编辑器(如https://c9.io/) – 这看起来最有前途 在一个可以处理自动完成/ linting等的开发容器中安装一些代理,并从本地运行的编辑器连接到它 – 我认为这将是最好的解决scheme,但我也认为现在它实际上不存在。 有没有人有幸成立了一个更高效的开发环境,除了装载卷和编辑文本?

当在Docker容器中打开搁置时,“ImportError:No module named _bsddb”

我想打开Docker容器内的基于Python的官方图像python:2.7.9-wheezy 搁置 。 但是我得到一个导入错误。 syncer/util.py:19: in get_from_shelve db = shelve.open(conf.SHELVE_LOCATION) /usr/local/lib/python2.7/shelve.py:239: in open return DbfilenameShelf(filename, flag, protocol, writeback) /usr/local/lib/python2.7/shelve.py:223: in __init__ Shelf.__init__(self, anydbm.open(filename, flag), protocol, writeback) /usr/local/lib/python2.7/anydbm.py:84: in open mod = __import__(result) /usr/local/lib/python2.7/dbhash.py:7: in <module> import bsddb … E ImportError: No module named _bsddb 在我的主机上,问题不存在, _bsddb位于/usr/lib/python2.7/lib-dynload/_bsddb.so 。 这个文件也在我的Docker容器中可用,所以我不明白为什么它不能被导入。 Ignacio Vazquez-Abramsbuild议安装db4-devel ,但是这个软件包在我的容器中不可用。 如何打开Docker容器中的搁架?

DockerFile /切换从Ubuntu的:最新的阿尔派:3.3

我创build了自己的docker文件,并且一切正常。 FROM ubuntu:latest apt-get update && apt-get upgrade -y RUN apt-get -y install libxml2-dev libxslt1-dev python-dev build-essential libssl-dev libffi-dev libxml2-dev libxslt1-dev zlib1g-dev python-pip python-setuptools python2.7 git tox 现在我尝试切换到FROM alpine:3.3 ,所以我写了以下内容 FROM alpine:3.3 RUN apk add –no-cache libxml2-dev libxslt1-dev python-dev build-essential libssl-dev libffi-dev libxml2-dev libxslt1-dev zlib1g-dev python-pip python-setuptools python2.7 git tox 但它给了我以下几点: fetch http://dl-cdn.alpinelinux.org/alpine/v3.3/community/x86_64/APKINDEX.tar.gz ERROR: unsatisfiable […]

导入错误:找不到paho.mqtt.client

我正在创build一个包含python和php的docker。 我正在编写一个python脚本来连接到驻留在另一个docker中的MQTT代理。 在我的dockerfile中,我确保使用以下命令来安装paho客户端: RUN apt-get install -y python3-dev RUN apt-get install -y libffi-dev RUN apt-get install -y libssl-dev ADD https://bootstrap.pypa.io/get-pip.py /tmp/get-pip.py RUN cat /tmp/get-pip.py | python3 RUN pip install paho-mqtt RUN pip install python-etcd 但是,当我运行python脚本,我得到以下错误: ImportError: No module named paho.mqtt.client docker安装不会显示有关paho-mqtt安装的任何错误。 如果有人能指导,这将是非常好的。

docker-py:如何将IP地址绑定到容器

说我有一个名为“mynet”的networking,我想启动一个IP地址绑定到192.168.23.2的容器。 我开始的代码是: import docker c = docker.from_env() c.containers.run('containername', 'sh some_script.sh', network='mynet') 我从这里做什么? 我正在有效地寻找相当于docker run的–ip选项。

Docker脚本更新文件,再次构build

我有一个关于如何使用docker来运行简单的python脚本的问题。 我有一个Python脚本的目录,我创build一个Dockerfile: FROM python:2.7 ENV PYTHONIOENCODING UTF-8 ADD . / WORKDIR ./ RUN pip install pandas CMD [ "python", "./hello.py" ] 然后我build立使用: docker build -t hello. 并运行:`docker run hello“ 我的问题是关于改变hello.py文件没有生成了。 任何提示在这里?

PyCharm远程解释器:无法执行Docker的Python二进制文件

我已经configurationPyCharm目标在我的Docker容器中的Python二进制文件,但得到这个错误: Couldn't refresh skeletons for remote interpreter failed to run generator3.py for docker://app:latest//usr/local/python/bin/python, exit code 126, stderr: —– /usr/local/python/bin/python: /usr/local/python/bin/python: cannot execute binary file —– 在Python 3.4.3的VM中运行Docker 1.10.0的PyCharm 5.0.4。 这里是我的PyCharm远程解释器设置: 保存这些设置会给出一个Non-zero exit code. 和上面的错误。

将文件作为parameter passing给Docker容器

一个非常简单的python程序,假设当前目录是/ PYTHON,我想将file.txt作为parameter passing给python脚本boot.py,这里是我的Dockerfile FROM python COPY boot.py ./ COPY file.txt ./ RUN pip install numpy CMD ["python", "boot.py", "file.txt"] 然后我用下面的代码构buildDocker容器: docker build -t boot/latest . 然后运行容器 docker run -t boot:latest python boot.py file.txt 我得到了正确的结果。 但是,如果我复制另一个文件file1.txt到当前目录(从不同的目录(不是/ PYTHON)),然后再次运行容器: docker run -t boot:latest python boot.py file1.txt 我得到了以下错误: FileNotFoundError:[Errno 2]没有这样的文件或目录:'file1.txt' 所以错误是由于file1.txt不在容器中,但如果我与朋友分享这个容器,朋友想传递一个非常不同的文件作为参数,我该怎么写Dockerfile,所以任何人与我的容器可以传递非常不同的文件作为参数没有错误? 提前致谢。 (我是Docker的新手)