Tag: python

在Docker-compose中使用git fork软件包的问题

我已经安装了一个从原包装分叉的包,所以我已经安装了 pip install -e git://github.com/**package**.git@7f323a3682ddede83a7bf53cdc8d24bcc24d096c#egg=**package** 但是,当我使用docker-compose exec myapp pip list列出我的软件包时,此软件包未在此处列出,我无法运行我的项目。

docker文本域太长了?

我正在更新一个旧的网站(在Django 1.3上运行)到更新的版本(Django 1.10)。 我的老板build议我使用Docker,因为用它部署会更容易,所以现在我们使用的是Django + Docker + Gunicorn + Nginx(之前只是Django和Apache)。 我们有一个名为Article的模型,用来保存网站的内容。 内容是一个TextField。 其中一条是包含商店列表的表格。 这篇文章很长,超过65000个字符。 问题是,如果我们在Docker中运行它,只会显示前64416个字符。 如果我尝试直接在我的笔记本电脑上运行gunicorn,那么没问题(整个页面加载),并且从Docker容器内运行相同的代码会导致截断的数据。 更令人困惑的是,我跑了 manage.py shell 和 Article.objects.get(id=16) 它会返回整个内容,但是 Article.object.get(id=16).content 再次只给出了第一个64416个字符。 我的docker图像是基于Alpine 3.3,我的主机操作系统是Linux 16.10。 这种行为的原因是什么? 怎么了?

无法在使用Docker容器时迁移Django数据库

在我的Windows 10机器上,我正在开发一个数据库pipe理器。 由于后端使用LDAP,所需的开发库仅适用于Linux,因此我想使用Docker来设置具有适当库的环境。 我设法写了一个Dockerfile和组合文件,在Docker容器中启动(当前非常基本的)Django应用程序,并包含所有需要的库。 我想玩弄django-ldapdb包,为此我想应用迁移。 当我打开PyCharm的terminal并尝试执行python manage.py migrate ,出现一个错误,告诉我找不到模块ldapdb 。 我怀疑这是因为该命令不使用我用PyCharm设置的远程Docker解释器。 我尝试的另一件事是使用PyCharm专用的manage.py控制台。 这不正确初始化。 它说工作目录是无效的,并且需要是一个绝对path,尽pipepath显示它是项目的绝对path。 我不得不承认,我不知道这个远程解释器是如何工作的,而且我没有看到任何Docker容器在运行,所以我可能在这里没有正确理解某些东西。 我什至尝试运行应用程序使用PyCharm的Django运行configuration,它启动了一个容器,但我仍然得到相同的错误。 我search了很多,但我找不到关于远程解释器的更多信息,也没有解决我的问题的东西。

rabbitmq工人继续下线

我一直在使用rabbitmq作为我的芹菜工人的经纪人,这是我的气stream应用的一部分。 所有这三个 – rabbitmq,芹菜和气stream都在docker集装箱。 我有3个节点上的芹菜工人与我的主服务器上的rabbitmq进行对话以代理这个工作。 应用程序工作正常,当我最初提出,但工人一段时间后离线。 这个问题似乎与rabbitmq在哪里closures了他们下线的工人的渠道。 这里是rabbitmq错误的实际文本: 017-05-24T14:31:39.922152707Z =ERROR REPORT==== 24-May-2017::14:31:39 === 2017-05-24T14:31:39.922160602Z Ranch listener rabbit_web_dispatch_sup_15672 had connection process started with cowboy_protocol:start_link/4 at <0.11802.6> exit with reason: {[{reason,badarg},{mfa, {rabbit_mgmt_wm_whoami,is_authorized,2}},{stacktrace,[{ets,lookup, [rabbit_user,<<"airflow">>],[]},{rabbit_misc,dirty_read,1, [{file,"src/rabbit_misc.erl"},{line,390}]}, {rabbit_auth_backend_internal,internal_check_user_login,2, [{file,"src/rabbit_auth_backend_internal.erl"},{line,122}]}, {rabbit_access_control,try_authenticate,3, [{file,"src/rabbit_access_control.erl"},{line,88}]}, {rabbit_access_control,'-check_user_login/2-fun-0-',4, [{file,"src/rabbit_access_control.erl"},{line,74}]},{lists,foldl,3, [{file,"lists.erl"},{line,1263}]},{rabbit_mgmt_util,is_authorized,6, [{file,"src/rabbit_mgmt_util.erl"},{line,149}]},{cowboy_rest,call,3, [{file,"src/cowboy_rest.erl"},{line,976}]}]},{req,[{socket,#Port<0.198143>}, {transport,ranch_tcp},{connection,keepalive},{pid,<0.11802.6>},{method, <<"GET">>},{version,'HTTP/1.1'},{peer,{{172,17,0,1},59755}},{host,<<"my-server">>},{host_info,undefined},{port,15672}, {path,<<"/api/whoami">>},{path_info,undefined},{qs,<<>>},{qs_vals,[]}, {bindings,[]},{headers,[{<<"host">>,<<"my-server:15672">>}, {<<"connection">>,<<"keep-alive">>},{<<"authorization">>, <<"BasicYWlyZmxvdzphaXJmbG93">>},{<<"user-agent">>, <<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 […]

Docker Error 2002 SQLAlchemy

我目前正在与MySQL / SQLAlchemy Flask应用程序。 我试图dockerize它,但它有一些问题连接到其中一个sockets。 我已经看了几乎所有关于这个问题,但我仍然得到这个错误。 “sqlalchemy.exc.OperationalError 🙁 _mysql_exceptions.OperationalError)(2002,”无法通过套接字连接到本地MySQL服务器“/var/run/mysqld/mysqld.sock'(2)” 我目前正在研究Mac和Mac的terminal程序。 我的文件夹树是:MainFolder – > .yml,db(文件夹),www(文件夹) 其中数据库(文件夹)有一个Dockerfile和www(文件夹)有.py,要求和Dockerfile 下面列出的是我的代码为这个应用程序。 泊坞窗,compose.yml version: '3' services: www: build: www/. ports: – 5000:5000 links: – db depends_on: – db db: build: db/. volumes: – ./[database]:/usr/local/mysql environment: MYSQL_ROOT_PASSWORD: [password] Dockerfile(用于www) FROM python:3-onbuild # Place app in container COPY . /opt/www WORKDIR /opt/www RUN […]

如何在Mac OS上运行python-flask容器?

我遵循一些在线Docker教程,我写了这个Dockerfile : FROM python:3.5-slim WORKDIR /opt COPY requirements.txt /opt/requirements.txt RUN pip install -r /opt/requirements.txt COPY hello.py /opt/hello.py EXPOSE 5000 CMD ["python", "/opt/hello.py"] 我build立了我的形象: docker build -t ciasto/pythonflask:v1 . 导致: $ docker build -t ciasto/pythonflask:v1 . Sending build context to Docker daemon 4.096 kB Step 1/7 : FROM python:3.5-slim 3.5-slim: Pulling from library/python 10a267c67f42: Already exists […]

让python和基于组件的容器工作

我正在试图dockerize这个同构的应用程序的工作stream程。 我构build了下面的docker文件的容器。 FROM python:3.5-slim RUN apt-get update && \ apt-get -y install gcc mono-mcs && \ apt-get -y install vim && \ apt-get -y install nano && \ rm -rf /var/lib/apt/lists/* RUN mkdir -p /statics/js VOLUME ["/statics/"] WORKDIR /statics/js COPY requirements.txt /opt/requirements.txt RUN pip install -r /opt/requirements.txt EXPOSE 8080 CMD ["python", "/statics/js/app.py"] 这是结果: $ docker […]

Flask应用程序不像unit testing那样从同一个数据库检索数据

我使用docker构build了一个应用程序,其中有三个容器。 一个托pipe后台数据库( db ),一个用于web api( app ),另一个用于运行自动化testing( test )。 这是描述三个容器之间链接docker-compose.yml的副本。 version: "3" services: app: build: context: ../ dockerfile: docker/app.Dockerfile environment: DB_NAME: ${PSQL_DATABASE} DB_USER: ${PSQL_USER} DB_PASSWORD: ${PSQL_PASSWORD} DB_PORT: ${PSQL_PORT} API_HOST: ${API_HOST} API_PORT: ${API_PORT} ports: – "5000:5000" depends_on: – db networks: – todo_backend tests: build: context: ../ dockerfile: docker/tests.Dockerfile environment: DB_NAME: ${PSQL_DATABASE} DB_USER: ${PSQL_USER} DB_PASSWORD: ${PSQL_PASSWORD} DB_PORT: […]

cv2.VideoCapture在Docker容器中不起作用

我正在尝试使用cv2.VideoCapture从Docker容器中捕获图像。 import cv2 vid = cv2.VideoCapture('path\to\video') ret, frame = vid.read() 在video文件方面,我试图用docker -v或者docker cp来装载文件,把video文件复制到容器中,但都没有运气(ret返回False)。 我应该在启动容器时添加任何命令吗? 提前致谢。

拆分Django项目

我有一个Django项目。 它不是特别大,它有5个主要的应用程序。 这个词最近来了,这两个应用程序将由当局审计。 这意味着,即使我们改变了项目的最小部分,也必须获得批准。 如果我们拆分项目,我们可以更改剩余的3个应用程序,而不必打扰外部审计人员,等待他们的回应。 该项目正在使用一个MSSQL数据库,它不会直接编辑(只能通过调用WebServices),并build立在一个Docker容器内。 其中一个想法是创build第二个几乎完全相同的Docker。 在审计的一个,我们会删除所有,但这两个应用程序从urls.py和另一个从urls.py删除这两个。 这给了我们两个独立的项目,保证即使我们在其他应用程序中改变了一些东西,它也不会影响审计的项目,并节省了我们很多的时间,因为它不需要经过程序。 但是我有这个方法的问题。 首先,我们保留了大量的冗余数据(模板,模型,在这个特定容器中不会使用的视图),其次,更重要的是,如果我们发现一个影响所有应用程序的错误function他们分享),我们将不得不确保编辑这两个项目。 而且,它感觉“哈克”。 我们用什么: Ubuntu 16.10 Python 2.7 + Django 1.10, MSSQL(将所有模型设置为managed = False), docker Gunicorn,Nginx 有没有更好的方法来分开这些项目?