Tag:

减lessdocker图像大小

我下载了一个只有debian OS的图像,并开始构build它。 当我第一次使用它的时候,debian的图像大概是700MB。 安装了LAMP,Drupal站点,清漆,tomcat,solr和其他一些服务。 图像已经显着增加(我),高达13 GB和导入3GB的MySQL转储后,该图像的大小增加了一倍,大约29GB。 为什么发生这种情况? 有没有办法减less图像的整体大小?

作为另一个用户在泊坞窗docker的正确权限是什么?

我试图让我的docker实例从CI服务器build立其他docker图像。 我的代理旋转了一个容器,并且将我的mac docker.sock安装到容器中。 /var/run/docker.sock:/var/run/docker.sock 当在容器内部并以root身份运行时,我可以下载并运行容器: root@b6da92395273:/godata/pipelines# docker run helloworld 019300c8a437: Pull complete dc9253de2674: Pull complete 43208f2470b6: Pull complete eb4d21c66200: Pull complete Digest: sha256:6797efb60e8efb49ad1ed48d9904bd23ccdb87fdeba10c0b057986fefaf2756b Status: Downloaded newer image for XXXXXX 但是,我的构build代理运行用户'去',而运行'去'我得到以下错误: go@b6da92395273:/godata/pipelines$ docker run helloworld docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.29/containers/create: dial unix /var/run/docker.sock: connect: […]

许多PHP容器的Docker体系结构

我想知道你们如何deviseDocker来处理许多容器,每个容器运行不同的PHP代码。 基本上,系统上的每个用户都有自己的PHP代码,代码是不一样的。 想想像每个用户有自己的WordPress的网站。 (我认为)这意味着我需要为每个PHP容器安装不同的目录。 我初步想到的是为每个用户创build一个单独的服务。 这样,当http请求进来时,我可以使用主机头来find正确的服务来处理请求。 但是如果系统有1000个用户,那么就意味着拥有1000个服务 – 对于Docker来说,这看起来非常重要。 我看到一些人在运行1000个容器,但我不确定这么多的服务。 另一件事是我想为每个用户build立一个单独的networking – 这意味着1000个networking – 这是可行的? 我在这里走错路了吗?

docker群端口发布不映射

我试图启动一个docker服务,但它不听localhost:8080。 $ docker service create –name webn -p 8080:80 nginx 6dgys45184b2hjyj1r9sclt Since –detach=false was not specified, tasks will be created in the background. In a future release, –detach=false will become the default. $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ce52d71684ff nginx "nginx -g 'daemon …" 4 seconds ago Up 2 seconds […]

Docker群集不断地closures容器

我在3台机器上创build了一个docker swarm manager节点 – 一台是Windows 10机器和2台Ubuntu机器。 事情在Windows 10和Ubuntu机器之一上按预期工作。 然而,在安装完所有东西之后,在最后一台机器(Ubuntu 16.04,Linode上的虚拟机)上,按照这里的说明并使用docker-ce 17.06.0〜ce-0〜Ubuntu的版本,我无法启动任何服务或堆栈 – 所有服务/堆栈容器都在一秒钟内closures。 没有从容器本身的日志 – 他们似乎在开始后立即停止。 如果restart_policy设置为on-failure容器,就像疯了一样开始和closures。 副本设置为1(默认)。 启动任何服务,然后检查服务状态 docker service ps *service-name* 在最右边的列中显示错误 starting container failed: su… 除了swar docker run以外, docker run hello-world 产生所需的输出。 所以,通过docker运行启动的其他容器。

自定义docker-java响应来移除一些像stream一样的logging器

我正在使用dockerJava版本3.0.10。 我可以编写代码来使用该版本执行不同的操作。 我得到如下响应: com.github.dockerjava.api.command.InspectImageResponse@3e690a97[arch=amd64,author=,comment=,config=com.github.dockerjava.api.model.ContainerConfig@3dbaa748[attachStderr=false,attachStdin=false,attachStdout=false,cmd={sh},domainName=,entrypoint=<null> ……………………(so on json) ] 但是,我想要JSON响应,并希望删除附加的行com.github.dockerjava.api.command.InspectImageResponse@3e690a97 ,就像在每个响应得到。 请给我这样做的方式。 提前致谢。

Docker swarm – 容器绑定到ethx IP

我真的是一个docker新手,请原谅我缺乏指定问题的技能。 现在我遇到了一个生产场景,我想用Docker Swarm将不同的机器连接在dockernetworking中。 但每个主机可能有多个物理网卡(eth0,eth1等),因此IP不同, 每次我编排系统时,我想为每个容器初始化一个新的networking,让容器使用网卡IP中的特定IP。 但是每个容器使用每个NIC的IP,而不是在docker0下。 我已经阅读了Docker 17.06ce上的文档 ,提到使用DOCKER-USER标志,但是我不太明白这一点。 使用主机networking对我来说不是最好的select,因为它将占用全球的端口。 提前致谢。

Docker – 安全的mysqlconfiguration

我想为我的生产和testing环境运行一个单独的docker容器为我的mysql数据库。 问题是,它有可能暴露port号和环境值,例如黑客已经获得访问容器。 我怎样才能写一个安全的mysql映像,不显示端口号和环境variables? UPDATE 我创build了一个本地.env文件,并在我的docker-compose.yml中使用了variables。 泊坞窗,compose.yml version: '3.1' services: mysql: image: mysql:5.6 ports: – 3306 environment: – DB_DATABASE=${DB_DATABASE} – DB_USERNAME=${DB_USERNAME} – DB_PASSWORD=${DB_PASSWORD}

通过Python中的Docker API设置login

我正在尝试Docker API python库,但无法获得一点成功,通过文档。实际上我试图login到使用API​​的docker。 这是我的Python代码: import docker config = os.path.join(BASE_DIR, 'IGui') + 'config.json' client = docker.APIClient.login('username', '*******', 'email@gmail.com','https://index.docker.io/v1/', config) 这是我收到的错误: AttributeError at /gui/docker/ 'str' object has no attribute '_auth_configs' Request Method: POST Request URL: http://127.0.0.1:8000/gui/docker/ Django Version: 1.11.3 Exception Type: AttributeError Exception Value: 'str' object has no attribute '_auth_configs' Exception Location: /Users/abdul/IstioVirEnv/lib/python3.6/site- packages/docker/api/daemon.py in login, line […]

无法连接到运行在计算引擎上的docker容器上的mongodb

使用docker-compose我启动了两个docker容器,一个是包含mongodb的第二个包含java应用程序的google vm (compute engine) 。 该应用程序很好地连接到数据库,我可以通过URL http://myvm:8080查看结果。 现在,当我想要在本地启动相同的应用程序连接到相同的数据库时,出现连接错误。 我把bind_ip属性设置为0.0.0.0来连接远程服务器,我在日志中看到这个configuration已经被使用了,但是不起作用。 I CONTROL [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "0.0.0.0", port: 27017 } } 虚拟机的所有端口和协议都可以访问。 在我尝试在mongodb上连接时发生的错误之下: com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=UNKNOWN, servers=[{address=vm_ip:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused […]