Tag:

最小化使用nix构build的Docker容器大小

我使用nix的dockerTools python应用程序打包到dockerTools ,除了图像大小以外,所有内容都很好。 Python本身大约是40Mb,如果你添加numpy和pandas ,它将会有几百兆,而应用程序代码只有〜100Kb。 我看到的唯一的解决scheme是将依赖关系包装在单独的图像中,然后inheritance主关系,不会修复大小,但至less我不需要在每次提交时都传输巨大的图像。 此外,我不知道如何做到这一点,我应该使用一些与pythonPackages.buildEnv形象,或build立与pythonPackages.buildEnv环境和附加我的​​应用程序吗? 有一些通用的解决scheme是非常好的,但python特定的将是很好的。 即使你有不完善的解决scheme,请分享。 好吧,从fromImage attr为buildImage我分裂成巨大的依赖层和小的应用程序代码层一个巨大的层。 我不知道是否有任何方法将这个胖依赖层移动到单独的图像,所以我可以分享我的其他项目?

docker python SDK – pipe道输出到exec_run中的文件

使用docker python SDK,我试图将echo命令的输出传递给exec_run ,如下所示。 container.exec_run(['echo','5','|','python','test.py']) test.py具有以下代码 s = input() print(s) 产生的输出是: b'5 | python test.py\n' 而不是脚本的预期输出。 这怎么能纠正?

在docker-compose日志中显示python system.info日志

我正在使用docker-compose组织的Web应用程序。 它由一个Python后端和一个节点前端组成。 我想在我的docker-compose日志中获得python logging.info通知。 不知何故,这是行不通的。 我的Python Dockerfile是非常基本的: FROM python:3.6 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app ADD requirements.txt /tmp/ RUN pip install -r /tmp/requirements.txt COPY app.py /usr/src/app COPY server.py /usr/src/app CMD ["python", "server.py"] 现在这是我的server.py文件,我设置我的日志logging设置: from app import app import logging logger = logging.getLogger('server') logger.setLevel(logging.DEBUG) import cherrypy if __name__ == '__main__': logging.basicConfig(level=logging.INFO) logging.info('Python server is called…') logging.error('Python […]

Pythondocker/检测不工作

我使用推荐的方法安装了Docker CE,然后按照https://pypi.python.org/pypi/detectem/0.1.3上的步骤安装了exploctem。似乎所有东西都能正常工作,Docker似乎可以正常工作,并且检测程序已成功安装。 我也在build议的虚拟环境中工作。 但是,典型的检测命令不起作用,在控制台中input det http://example.webscraping.com/ 我有几个exception错误: PermissionError:[Errno 13]权限被拒绝requests.packages.urllib3.exceptions.ProtocolError:('Connection aborted。',PermissionError(13,'Permission denied'))requests.exceptions.ConnectionError:('Connection aborted。',PermissionError 13,“权限被拒绝”)) 有人知道这里有什么问题吗?

Cronjob通过docker容器运行不正常

我试图设置一个cronjob在docker集装箱内激发一个python脚本没有成功。 在我的主机上,我已经设置了一个应该每天运行的cronjob,像这样: 30 10 * * * root docker exec -it container bash -c '/usr/bin/python myscript.py' 运行命令本身工作正常,所以没有任何问题,并在系统日志cronjob被激发。 但脚本没有运行。 有没有人遇到过,或有任何线索,为什么脚本不是从cronjob运行?

解决docker问题 – 编写不同的客户端服务器会导致新的错误,说明降级Docker SDK for Python的版本

我的docker版本是 docker version Client version: 1.6.2 Client API version: 1.18 Go version (client): go1.2.1 Git commit (client): 7c8fca2 OS/Arch (client): linux/amd64 Server version: 1.6.2 Server API version: 1.18 Go version (server): go1.2.1 Git commit (server): 7c8fca2 OS/Arch (server): linux/amd64 和我的docker组成版本是 docker-compose version 1.14.0, build c7bdf9e docker-py version: 2.4.2 CPython version: 2.7.6 OpenSSL version: OpenSSL 1.0.1f […]

make:*** 分割错误(core dump)

我试图在连接到docker集装箱的GitLab CI系统中使用nosetests来运行我的库的testing。 在运行nosetests时,会出现没有任何进一步信息的SegmentationFault: Running with gitlab-ci-multi-runner 9.2.1 (f018144) on geomultisens_ci (13021243) Using Docker executor with image mylib_ci:latest … Using docker image sha256:fb484ffc20b0b7f5e67fe5b9dbcc6273b0473b9e221c1576382f33ba291acdc6 for predefined container… Pulling docker image mylib_ci:latest … Using docker image mylib_ci:latest ID=sha256:1ab9379705dfbde4bbe3db9207d8f614f7b0a19399de305266ec4d372ea9556e for build container… Running on runner-13021243-project-32-concurrent-0 via 64818bb9939b… Cloning repository… Cloning into '/builds/user1/mylib'… Checking out 28f23b52 as nosetests… Skipping Git […]

我如何在Jenkins中运行两个docker机器来模拟ssh服务器和ssh客户机?

我正在testing一个pipe道,其中一个ssh客户端与许多服务器对话以从中收集数据。 我目前正在testing我的软件,启动一个docker机器来模拟一个ssh服务器。 现在我想在Jenkins自动化testing。 如何在Jenkins中启动docker ssh服务器,而不是充当代理,而是等待代理通过ssh请求联系他们? 下面是当前的Jenkinspipe道。 dockerfile创build运行python脚本的机器,但是我需要创build一个docker ssh服务器来与之通话。 pipeline { agent { dockerfile true } stages { stage('Checkout') { steps { checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'somecredentials', url: 'a git repo']]]) } } stage('Run Tests') { steps { sh "python ./rsyncUnitTests.py" } } } post { failure […]

Docker的构build似乎在安装非pip Python包时会挂起

我有一些非PIP包, 我已经写入到我的requirements.txt中,如下所示: git+https://github.com/manahl/arctic.git 这似乎在我的本地主机工作正常,但是当我做dockerbuild设我得到这个: Collecting git+https://github.com/manahl/arctic.git (from -r scripts/requirements.txt (line 11)) │ Cloning https://github.com/manahl/arctic.git to /tmp/pip-1gw7spz2-build 它似乎只是挂起。 几分钟后,它静静地移动,但看起来并不像是有效的。 它似乎这样做每个基于git的依赖。 我究竟做错了什么? Dockerfile: FROM python:3.6.1 # Set the working directory to /app WORKDIR /app # Copy the current directory contents into the container at /app ADD . /app RUN apt-get update && apt-get install -y \ git\ […]

docker容器在停止或移除后启动新的容器

我在官方docker网站上按照“入门” 教程 ,一切进展顺利,直到我试图移除容器。 每当我跑步 docker rm -f [container_id] 要么 docker stop -f [container_id] 带有该ID的初始容器将被停止或删除,但新的容器将出现并运行。 我尝试使用以下命令更新容器: docker update –restart=no $(docker ps -aq) 但是它没有帮助。 这里的“docker信息”命令结果: $ docker info Containers: 5 Running: 5 Paused: 0 Stopped: 0 Images: 1 Server Version: 17.05.0-ce Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 22 Dirperm1 Supported: true Logging Driver: […]