Tag: docker文件docker 撰写

docker安装卷GID不匹配导致错误:拨号unix /var/run/docker.sock:连接:权限被拒绝

使用正式的jenkins图像,我已经安装了docker和docker-compose,并将jenkins添加到docker组(容器中的GID 999)。 之后,我分享了主机的/var/run/docker.sock,让jenkins创build“兄弟”容器。 原来的文件有GID 134,并且这个GID被挂载。 我收到以下错误: demo_1 | docker:在unix下连接Docker守护进程的时候被拒绝了:///var/run/docker.sock:发布http://%2Fvar%2Frun%2Fdocker.sock/v1.32/containers/create :拨号unix /var/run/docker.sock:连接:权限被拒绝。 demo_1 | 参见“docker运行 – 帮助”。 任何想法如何解决这个问题? 我最小的(还没有优化)Dockerfile是: FROM jenkins/jenkins:lts USER root RUN apt-get update && apt-get install -y apt-transport-https \ ca-certificates \ curl \ gnupg2 \ software-properties-common RUN curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | apt-key add – RUN apt-key fingerprint 0EBFCD88 RUN add-apt-repository […]

在Docker容器上开发时使用IDE

在使用docker容器开发应用程序的时候,我没有得到一些东西。 比方说,我正在开发一个Java应用程序,我build立了一个Java容器与jdk 8基本形象,我仍然需要安装Java 8 jdk在我的本地开发机器,因为我将要使用的IDE将寻找运行本地计算机上的库不是泊坞窗容器。 这是对的还是我错过了什么? 有些东西我完全可以在Docker容器上完成,比如build立一个数据库,但是在我的本地开发机器上也需要做一些事情,并且试着将它与我的docker镜像进行匹配,例如像java或python为了使用IDE。

docker上的Fiware Orion挂起

几个小时后,Orion停止响应 我在我的Docker文件中使用了最新的docker镜像(docker文件中有其他服务): mongo: image: mongo:3.2 hostname: mongo container_name: mongo ports: – "27017:27017" command: –nojournal orion: image: fiware/orion hostname: orion container_name: orion ports: – "1026:1026" mem_limit: 1g links: – mongo command: -dbhost mongo -logLevel INFO 我的docker和docker构成版本是: Docker version 17.09.0-ce, build afdb6d4 docker-compose version 1.16.1, build 6d1ac21 Orion进程总是在这里,但不会响应HTTP请求: [root@orion contextBroker]# ps aux USER PID %CPU %MEM VSZ […]

如何将厨师数据包秘密传递给docker集装箱?

我已经创build了厨师服务器上存在的数据库项目。 现在,我正试图将该数据块项目的秘密值传递给一个泊坞窗容器。 我正在创build数据包,如下所示: knife data bag create bag_secrets bag_masterkey –secret-file C:\path\data_bag_secret 我正在检索厨师食谱中该数据库项目的值,如下所示: secret = Chef::EncryptedDataBagItem.load_secret("#{node['secret']}") masterkey = Chef::EncryptedDataBagItem.load("databag_secrets", "databag_masterkey", secret) 我需要添加什么逻辑来将数据包秘密传递给docker集装箱?

提升docker集装箱内的风帆

我知道有很多例子(实际上只有几个例子),我研究了一些,并试图将它们应用到我的案例中,但是当我尝试提起容器时( docker-compose up ),我最终得到了更多或每次更less的相同的错误。 我的文件夹结构是: sails-project –app —-api —-config —-node_modules —-.sailsrc —-app.js —-package.json –docker-compose.yml –Dockerfile docker-compose.yml文件: sails: build: . ports: – "8001:80" links: – postgres volumes: – ./app:/app environment: – NODE_ENV=development command: node app postgres: image: postgres:latest ports: – "8002:5432" 和Dockerfile : FROM node:0.12.3 RUN mkdir /app WORKDIR /app # the dependencies are already installed […]

Docker-compose:在其他容器中获取链接的容器地址(在bash中)

我是docker工人,所以也许这是一个基本的问题,但我没有find适当的答案。 我想在start.sh脚本中获得作为环境variables的弹性search地址。 什么是正确的方式做不是侵入性的,不硬编码? Docker组成: version: "2" services: #elasticsearch elasticsearch: container_name: es volumes: – ./elasticsearch:/usr/share/elasticsearch/data extends: file: ../../base-config-dev.yml service: elasticsearch es-sync: container_name: app-es-sync hostname: app-es-sync extends: file: ../../base-config-dev.yml service: es-sync links: – elasticsearch Dockerfile: FROM python:3.4 MAINTAINER me@mail.com RUN pip install mongo-connector==2.4.1 elastic2-doc-manager RUN mkdir /opt/es-sync COPY files/* /opt/es-sync/ RUN chmod 755 /opt/es-sync/start.sh CMD exec /opt/es-sync/start.sh […]

RHEL7 docker容器是否需要订阅?

我有一个docker的rhel7主机。 我也用rhel7作为基础图像来构build图像。 但是当我运行容器&做百胜更新或尝试安装包与百胜,这是给我下面的错误。 "This system is not registered to Red Hat Subscription.you can use subscription manager to register" 我已经订阅了主机RHEL Machine.Do我需要订阅rhel图像的每个容器。 要么 我是否需要在构build图像时在dockerfile本身中订阅? 谢谢

Docker服务更新时间戳

Docker Swarm API客户端具有以下服务的元信息: Meta.UpdatedAt 这是最后一次用户启动update的时间戳(例如更改服务configuration)还是Docker Swarm执行任何服务更改的时间戳? 例如,如果我的群服务有5个任务分布在集群中,然后由于某种原因,Docker将一个任务从一个节点移动到另一个节点(所以服务configuration不会改变)。 它会更新这个领域?

在同一个docker-compose中列出容器

我正在研究一个利用docker-compose的应用程序。 其中一个容器是一个看门狗组件,它定期运行一个小型的python脚本来获取兄弟容器的状态,并在其中一个容器停止时采取行动。 到目前为止,我使用了应该被监视的所有容器名称的列表,但是现在我想知道它可以只监视由同一个docker-compose命令创build的所有容器。 以前,代码看起来像这样: watched_containers = ["component-a", "component-b"] def inspect_containers(): containers = { (container["Names"][0].lstrip("/"), container) for container in docker.Client().containers(all=True) } for container_name in watched_containers: if containers.get(container_name, {}).get("State") != "running": alert_container_stopped(container_name) 我发现dockerpy不知道dockerpy docker-compose ,所以我创build了一个基于com.docker.compose.project -compose项目名称标签( com.docker.compose.project )过滤容器的函数,但现在我有一个硬编码的项目名称而不是容器名。 有没有办法获得当前的项目名称,或者有其他方式来获取相同的组成的容器列表? 谢谢

错误:来自守护程序的错误响应:范围“全局”的数据存储未初始化

我创造了一个群,有两个节点。 但是,当我使用docker-compose build && docker-compose up来启动我的项目时,它崩溃错误了: ERROR: Error response from daemon: datastore for scope "global" is not initialized 这是一个非常简单的过程: docker run swarm create 群集哈希 : 1477bcd7778d083e02a80c352d4f1b87 docker-machine create -d virtualbox –swarm –swarm-master –swarm-discovery token://1477bcd7778d083e02a80c352d4f1b87 myswarmmaster docker-machine create -d virtualbox –swarm –swarm-discovery token://1477bcd7778d083e02a80c352d4f1b87 myremotenode1 eval $(docker-machine env –swarm myswarmmaster) docker-compose build && docker-compose up 然后我得到的错误: ERROR: […]