红色箭头 - 在下面的截图中的第95和96行之间 - 是什么意思在GitHub的Atom编辑器上?
谢谢!
我正在使用docker-compose,我想为不同的服务构建步骤使用不同的Dockerfiles.该文件似乎表明放置不同Dockerfiles不同的目录中,但我想他们都在同一个(也许区分使用以下约定:Dockerfile.postgres,Dockerfile.main ...).这可能吗?
编辑:我有的场景包含这个docker-compose文件:
main:
build: .
volumes:
- .:/code
environment:
- DEBUG=true
postgresdb:
extends:
file: docker-compose.yml
service: main
build: utils/sql/
ports:
- "5432"
environment:
- DEBUG=true
Run Code Online (Sandbox Code Playgroud)
postgresdb
Dockerfile 在哪里:
FROM postgres
# http://www.slideshare.net/tarkasteve/developerweek-2015-docker-tutorial
ADD make-db.sh /docker-entrypoint-initdb.d/
Run Code Online (Sandbox Code Playgroud)
主要是:
FROM python:2.7
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
ADD . /code/
Run Code Online (Sandbox Code Playgroud)
这现在可以正常工作,但我想postgresdb
通过调用Python脚本扩展其Dockerfile,该脚本根据基于SQL Alchemy构建的模型在数据库中创建表(Python脚本将被称为python manage.py create_tables
).我想将它添加到db的Dockerfile中,但是由于容器的隔离,我不能在那里使用SQL Alchemy,因为该图像是基于postgres
图像而不是Python的,并且它不包含sqlalchemy
包......
我能做什么?我尝试使用该main
服务postgresdb …
我正在尝试使用PostgreSQL的shell(psql
)docker-compose
,但是我遇到了一些困难...这是我的docker-compose
文件:
main:
build: .
volumes:
- .:/code
links:
- postgresdb
environment:
- DEBUG=true
postgresdb:
build: utils/sql/
ports:
- "5432"
environment:
- DEBUG=true
Run Code Online (Sandbox Code Playgroud)
我试图访问psql
通过该会main
还有postgresdb
服务,通过运行
docker-compose run postgresdb psql -h postgresdb -U docker mydatabase
但我得到的是psql: could not translate host name "postgresdb" to address: Name or service not known
......我不明白,因为我postgresdb
在数据库配置文件中用作主机,例如:
DB_ACCESS = {
'drivername': 'postgres',
# Name of docker-compose service
'host': 'postgresdb',
'port': '5432',
'username': 'docker',
'password': '', …
Run Code Online (Sandbox Code Playgroud) 在Java上遇到以下表达式,我不知道"1d"是什么意思(r
是一个整数).也有选择的多头,双打......它们是什么,他们用来做什么的?
double y = r / (Integer.MAX_VALUE + 1d);
Run Code Online (Sandbox Code Playgroud)
谢谢!
关于这一点似乎有很多关于StackOverflow的问题,但遗憾的是没有任何对我有用.
我在nginx上获得了一个502坏网关,以及日志中的以下内容: connect() to ...myproject.sock failed (13: Permission denied) while connecting to upstream
我正在wsgi
和nginx
上ubuntu
,我一直在关注,从数字海洋本指南.我显然已经wsgi
正确配置uwsgi -s myproject.sock --http 0.0.0.0:8000 --module app --callable app
,但我一直得到nginx
权限被拒绝错误,我不明白为什么:
跨越未来之后这个问题,并且这另外一个,我改变了.ini
文件,并添加了chown-socket
,chmod-socket
,uid
和gid
参数(还尝试只设置了前两个,或,和几个不同的权限设置--and即使是最宽容的没有工作).
这个看起来很有希望,但我不相信selinux
是安装在我的Ubuntu上(运行sudo apt-get remove selinux
给出"Package'selinux'没有安装,所以没有删除"并且find / -name "selinux"
没有显示任何内容).为了以防万一,我尝试了这篇文章推荐的内容.卸载apparmor
(sudo apt-get install apparmor
)也无法正常工作.
每次我进行更改时,我都会运行sudo service nginx restart
,但我只看到502网关错误(当我读取日志时,权限被拒绝错误). …
我知道如果我们有两个向量-例如X和Y,我们可以使用在Matlab中计算它们的卷积Z = conv(X, Y)
。如在Mathworks.com上所述,还有另一种方法可以通过卷积矩阵来实现:
n = length(Y);
Z = convmtx(X,n)*Y;
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
conv(X, Y)
?length(Y)
还是有更多的方法(矩阵乘法比卷积运算等效率更高)?谢谢!
编辑:我也联系了Mathworks.com,我想分享一下他们的答案:
您可以亲眼看到,如果运行此代码,conv确实会更有效。
tfs = 0; tsl = 0;
Nt = 20; sh = 500;
for kj = 1:Nt
q = randn(10000,1); h = randn(sh,1);
tic
fst = conv(q,h);
tfs = tfs+toc;
tic
slo = convmtx(q,sh); slo = slo*h;
tsl = tsl+toc;
end
tfs = tfs/Nt; tsl = tsl/Nt; tsl/tfs
Run Code Online (Sandbox Code Playgroud)
您可以看到conv的速度提高了大约120倍。有几种原因,但最重要的可能是conv是(几乎)内置编译函数,而convmtx是在MATLAB语言,并在调用时进行解释(即,对其进行解析,进行类型检查等)。此外,即使您确实只需要一个副本,当您调用convmtx时,您也会创建输入数组的许多副本。
我可以找到的所有示例(在文档中等)通过将数据传递给构造函数来定义OrderedDicts.来自文档:
# regular unsorted dictionary
d = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2}
# dictionary sorted by key
OrderedDict(sorted(d.items(), key=lambda t: t[0]))
OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])
Run Code Online (Sandbox Code Playgroud)
另一方面,可以通过不向构造函数提供参数来初始化OrderedDict,这导致它保留添加键,值对的顺序.
我正在寻找一种类似于以下的构造,除了没有"d.items()".从本质上讲,我要求它记住一个机制而不提供一个例子,这可能听起来很疯狂.我唯一选择通过在单个项目中提供初始"d"(下方)来"破解"这个,还是有更好的方法?
OrderedDict(sorted(d.items(), key=lambda t: t[0]))
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在尝试将peroumal1的"docker-chrome-selenium"容器与使用Selenium的抓取代码链接到另一个容器.
他将他的容器暴露在4444端口(Selenium的默认容器),但是我无法从我的刮刀容器中访问它.这是我的docker-compose
档案:
chromedriver:
image: eperoumalnaik/docker-chrome-selenium:latest
scraper:
build: .
command: python manage.py scrapy crawl general_course_content
volumes:
- .:/code
ports:
- "8000:8000"
links:
- chromedriver
Run Code Online (Sandbox Code Playgroud)
这是我的刮刀Dockerfile:
FROM python:2.7
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
ADD . /code/
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试从我的代码中使用Selenium时(见下文),我收到以下错误消息:selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be available in the path. Please look at http://docs.seleniumhq.org/download/#thirdPartyDrivers and read up at http://code.google.com/p/selenium/wiki/ChromeDriver
.在Mac OS X上,当我没有使用Docker时,我通过下载chromedriver
二进制文件并将其添加到路径来修复此问题,但我不知道该怎么做.
driver = …
Run Code Online (Sandbox Code Playgroud) 假设我在Python(A, B, C
)中有一个类对象列表,我想在构建类时继承它们D
,例如:
class A(object):
pass
class B(object):
pass
class C(object):
pass
classes = [A, B, C]
class D(*classes):
pass
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我这样做时,我遇到语法错误.除了通过写作,我还能怎样完成它class D(A, B, C)
?(在我的实际场景中有三个以上的课程)
我在从我的“主”( ) 服务调用某些 Docker Compose 服务中应该定义的内容时遇到问题web
。我有以下docker-compose.yml
文件:
version: '2'
services:
db:
image: postgres
volumes:
- postgres-db-volume:/data/postgres
pdftk:
image: mnuessler/pdftk
volumes:
- /tmp/manager:/work
ffmpeg:
image: jrottenberg/ffmpeg
volumes:
- /tmp/manager:/files
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
- /tmp/manager:/files
ports:
- "8000:8000"
depends_on:
- db
- pdftk
- ffmpeg
volumes:
postgres-db-volume:
Run Code Online (Sandbox Code Playgroud)
我可以完美地使用db
from web
,但不幸的是不能使用pdftk
or (这些只是我运行shellffmpeg
时未定义的命令行实用程序):web
manager$ docker-compose run web bash
Starting manager_ffmpeg_1
Starting manager_pdftk_1
root@16e4b755172d:/code# pdftk
bash: pdftk: …
Run Code Online (Sandbox Code Playgroud) docker ×4
python ×3
atom-editor ×1
convolution ×1
double ×1
fig ×1
inheritance ×1
java ×1
matlab ×1
matrix ×1
nginx ×1
oop ×1
postgresql ×1
python-2.7 ×1
python-3.x ×1
selenium ×1
sockets ×1
ubuntu ×1
uwsgi ×1
wsgi ×1