标签: docker-compose

将 .gitignore 文件放在 docker 下的什么位置?

我正在开发我的第一个 docker-compose.yml,其中包含一个 Rails 应用程序。

我应该如何处理 .gitignore 文件?

在主目录中,我有:

  • docker-compose.yml
  • 自述文件
  • 为每个非图像容器加上一个文件夹

我在相关的容器目录中生成了一个 Rails 应用程序。这包括标准生成的 .gitignore 文件。

我应该移动的.gitignore到主目录,并把所有的忽略在一个地方离开它它在哪里,并保持忽略在容器目录级别

有什么我没见过的陷阱吗?

git ruby-on-rails docker docker-compose

1
推荐指数
1
解决办法
2440
查看次数

使用 docker-composer 进行缩放并在主机名后附加一个数字?

我有一个docker-compose.yml

master:
  build: .

slave:
  image: master
  hostname: slave
  command: run_slave
Run Code Online (Sandbox Code Playgroud)

如何docker-compose scale slave=5生成具有唯一主机名的机器?

...例如这样的事情:

slave1
slave2
slave3
slave4
slave5
Run Code Online (Sandbox Code Playgroud)

containers docker docker-compose

1
推荐指数
1
解决办法
2386
查看次数

如何在 docker remote api 中创建容器?(go-dockerclient)

我正在使用go-dockerclient库,我想使用CreateContainer go-dockerclient 方法创建容器,但是我应该在哪里传递我创建此函数的 docker 图像 ID

func CreateContainer(w http.ResponseWriter, r *http.Request){

    client,err:=docker.NewTLSClient(Endpoint,Cert,Key,Ca)
    if err!=nil{
        panic(err)
    }
    container,er:=client.CreateContainer(docker.CreateContainerOptions{Name:"cont"})
    if er!=nil{
        panic(err)
    }

 }
Run Code Online (Sandbox Code Playgroud)

例如,如果我有一个给定的图像 ID,我应该在哪里添加它?

go docker dockerfile docker-registry docker-compose

1
推荐指数
1
解决办法
915
查看次数

将文件添加到 docker 容器以在启动期间使用

是否可以run在容器启动期间使用的操作期间向docker容器提供文件?

基本上我想提供类似于一个txt文件plugins.txt詹金斯泊坞窗到Tomcat服务器。该文件应包含name:version要在容器启动期间下载的 .war 和 .jar 文件的名称和版本 ( )。我希望这种设置能够更灵活地为客户提供定制的容器,而不是拥有客户特定的图像。但对我来说最大的问题是:

  1. 我可以在容器启动期间提供这样的文件吗?
  2. 我应该如何处理文件和/或容器的版本控制,以便能够检查客户特定容器包含的内容?
  3. 还有什么我应该考虑的吗?

docker dockerfile docker-compose

1
推荐指数
1
解决办法
4794
查看次数

是否可以使用 ecs-cli compose 注册任务定义?

我试图了解 ecs-cli docker-compose 是否(以及如何)注册任务定义。

aws 文档声明它:“与 Docker 组合文件一起工作以创建任务定义和管理任务。” ecs-cli-compose 文档似乎没有提到任务注册。

http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cmd-ecs-cli-compose.html

然而,注册一个任务定义似乎是一个相当繁琐的过程,涉及一个复杂的 json 文件,其中定义了 ai)“家庭”,ii) 一组可接受的容器定义和 iii) 一个或多个可选任务角色。

http://docs.aws.amazon.com/cli/latest/reference/ecs/register-task-definition.html

任何帮助消除我的困惑将不胜感激。

amazon-web-services amazon-ecs docker-compose

1
推荐指数
1
解决办法
1090
查看次数

Docker撰写:无法使用同一网络将节点容器连接到Mongo容器

这是docker-compose.yml 版本:“ 3”

services:
    web:
        build: ./rqiim
        command: curl "127.0.0.1:27017"
        volumes:
        - ./rqiim:/app
        - /app/node_modules/
        environment:
        - MONGO_HOSTNAME=127.0.0.1
        ports:
        - "8080:8080"
        networks:
        - host
    mongodb:
        image: mongo:3.4.18-jessie
        container_name: mongodb
        volumes:
        - /data/db:/data/db
        - ./mongo:/etc/mongo
        command: --config /etc/mongo/mongod.conf
        hostname: mongod1
        ports:
        - "27017:27017"
        networks:
        - host
    networks:
      host:
Run Code Online (Sandbox Code Playgroud)

当我运行时,docker-compose up我得到的Failed to connect to 127.0.0.1 port 27017: Connection refused
似乎是问题所在,它们在同一网络上,再加上我从docker外部从本地连接到MongoDB容器就好了。

这是内容 /etc/mongo/mongod.conf

storage:
    dbPath: /data/db
    journal:
        enabled: true
    systemLog:
        destination: file
        logAppend: true
        path: /var/log/mongodb/mongod.log
    # network interfaces …
Run Code Online (Sandbox Code Playgroud)

mongodb docker docker-compose

1
推荐指数
1
解决办法
844
查看次数

如何将构图图像推送到ECR?

我有一个docker-compose文件:

version: '3.4'
services:
  nginx:
    container_name: some-nginx
    image: nginx:latest
    restart: always
    ports:
      - 80:80
      - 443:443

  mongodb:
    container_name: some-mongo
    image: mongo:latest
    environment:
      - MONGO_DATA_DIR=/data/db
      - MONGO_LOG_DIR=/dev/null
    ports:
      - 27017:27017
    command: mongod --smallfiles --logpath=/dev/null # --quiet
Run Code Online (Sandbox Code Playgroud)

我想使用命令推送到Amazon Elastic Container Registry(ECR):

docker tag testapper:latest 619625705037.dkr.ecr.us-east-2.amazonaws.com/testapper:latest
Run Code Online (Sandbox Code Playgroud)

但我收到一条消息:

来自守护程序的错误响应:没有这样的图像:testapper:latest

当我跑步时,docker-compose build我收到了这条消息:

nginx uses an image, skipping
mongodb uses an image, skipping
Run Code Online (Sandbox Code Playgroud)

这是什么意思?如何将我的图像推送到ECR?

amazon-web-services docker docker-compose amazon-ecr

1
推荐指数
1
解决办法
673
查看次数

如何通过Docker机密共享SSH密钥以访问私有Github存储库?

我使用的建议,从这个帖子来实现多克的秘密,这样我可以使用本地SSH密钥验证用户访问Github上我的容器。我在MacOS上,没有使用Docker swarm。这是我的设置:

docker-compose.yml

version: '3.1'

services:
  [servicename]:
    secrets:
     - ssh_private_key

[...]

secrets:
  ssh_private_key:
    file: ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

Docker文件

FROM python:3.7 as intermediate

RUN mkdir /root/.ssh/ 
RUN ln -s /run/secrets/ssh_private_key /root/.ssh/id_rsa
RUN touch /root/.ssh/known_hosts
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts
COPY requirements_private_repos.txt ./

RUN pip install --no-cache-dir -r requirements_private_repos.txt
Run Code Online (Sandbox Code Playgroud)

当我尝试运行docker-compose build并使用SSH密钥从专用远程存储库中提取信息时,出现以下错误:

Permission denied (publickey).
fatal: Could not read from remote repository.
Run Code Online (Sandbox Code Playgroud)

我能够远程访问docker映像,并看到正在创建并填充秘密/run/secrets/ssh_private_key

在Dockerfile中使用链接时,为什么链接不起作用?如果Docker机密不是正确的方法,是否有更好的方法可以将SSH密钥从MacOS共享到Docker?

git macos ssh docker docker-compose

1
推荐指数
1
解决办法
522
查看次数

Docker撰写:服务无法相互连接

我一直在关注有关docker服务和集群的本教程。但是我在不同的Docker容器之间建立网络时遇到了一些麻烦。

以下是我的docker-compose.yml文件,它基本上包含两个服务。一个只是连接到两个网络的redis映像(尽管第二个目前尚无用)。另一个是我的应用程序,需要连接到Redis。因此,我选择为redis服务提供一个静态IP。

version: "3"

services:
  my_redis:
    image: redis
    ports:
      - "6379:6379"
    networks:
      first_network:
        ipv4_address: 172.20.1.1
      second_network:
        ipv4_address: 172.30.1.1
  my_app:
    build:
      context: .
      dockerfile: Dockerfile_my_app
    image: my_app_image
    depends_on:
      - my_redis
    deploy:
      replicas: 1 # 4
    networks:
      - first_network

networks:
  first_network:
    ipam:
      config:
        - subnet: 172.20.1.0/24
  second_network:
    ipam:
      config:
        - subnet: 172.30.1.0/24
Run Code Online (Sandbox Code Playgroud)

以下是我的Dockerfile my_app

FROM python:3.7
WORKDIR /app
COPY . /app
RUN pip3 install --trusted-host pypi.python.org -r requirements.txt
CMD ip a && wait-for-it.sh 172.20.1.1:6379 && PYTHONPATH=. python3 …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

1
推荐指数
1
解决办法
61
查看次数

如何在Linux机器上清理Docker容器和映像

我们有带有docker和docker compose的Linux redhat机器

现在我们要清理所有容器和图像-就像我们刮了一个新的docker

据我了解,我们需要按此顺序执行以下过程:

我对这个程序正确吗?,或者我错过了什么?

 1. docker stop <CONTAINER ID>
 2. docker container rm <CONTAINER ID>
 3. docker image rm  <IMAGE ID>
Run Code Online (Sandbox Code Playgroud)

第一次找到-容器ID

docker ps
CONTAINER ID        IMAGE                                             COMMAND                  CREATED             STATUS              PORTS                                        NAMES
654fa81f4439        confluentinc/cp-enterprise-control-center:5.0.0   "/etc/confluent/dock…"   9 minutes ago       Up 9 minutes        0.0.0.0:9021->9021/tcp                       control-center
Run Code Online (Sandbox Code Playgroud)

1)

停止容器

docker stop 654fa81f4439
654fa81f4439
Run Code Online (Sandbox Code Playgroud)

2)

删除容器

docker container rm 654fa81f4439
654fa81f4439
Run Code Online (Sandbox Code Playgroud)

3)

查找图像ID

docker images
REPOSITORY                                  TAG                 IMAGE ID            CREATED             SIZE

confluentinc/cp-enterprise-control-center   5.0.0               e0bd9a5edb95        15 months ago       617MB
Run Code Online (Sandbox Code Playgroud)

删除图片

ocker image rm …
Run Code Online (Sandbox Code Playgroud)

containers redhat docker docker-compose docker-machine

1
推荐指数
1
解决办法
108
查看次数