标签: docker-compose

Docker Volume没有安装任何文件

我正在尝试将源文件挂载到位于/ var/dynamo的docker中的目录.我希望能够在本地运行Docker并在我工作时使用我的本地文件.

使用run命令:

docker run -v $(pwd):/var/dynamo -d -t -p 8001:8001 --name dynamo davesrepo/dynamo
Run Code Online (Sandbox Code Playgroud)

用我的 Dockerfile

FROM python:3.5.1
WORKDIR /var/dynamo
RUN pip3 install tornado
EXPOSE 8001
Run Code Online (Sandbox Code Playgroud)

但是,当我bash到容器docker exec -it dynamo /bin/bash并运行ls -la目录是空的!

root@7d3d338891aa:/var/dynamo# ls -la
total 4
drwxr-xr-x  2 root root   40 Dec 29 03:37 .
drwxr-xr-x 24 root root 4096 Dec 29 03:36 ..
Run Code Online (Sandbox Code Playgroud)

运行docker inspect dynamo显示正确安装的目录

[
{
    "Id": "7d3d338891aae32e001a3bb31d6be17802d238526830396472b011599a97212a",
    "Created": "2015-12-29T03:37:01.416445958Z",
    "Path": "python3",
    "Args": [],
    "State": {
        "Status": "running",
        "Running": …
Run Code Online (Sandbox Code Playgroud)

linux docker docker-compose

26
推荐指数
4
解决办法
3万
查看次数

docker-machine和docker-compose有什么区别?

我想我不明白.首先,我创建了docker-machine:

$ docker-machine create -d virtualbox dev
$ eval $(docker-machine env dev)
Run Code Online (Sandbox Code Playgroud)

然后我写了Dockerfile和docker-compose.yml:

FROM python:2.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/


version: '2'
services:
  db:
    image: postgres
  web:
    build: .
    restart: always
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    links:
      - db
Run Code Online (Sandbox Code Playgroud)

最后,我构建并启动了图像:

$ docker-compose build --no-cache
$ docker-compose start
Run Code Online (Sandbox Code Playgroud)

我检查了我的虚拟机的ip

$ docker-machine ip dev
Run Code Online (Sandbox Code Playgroud)

并在我的浏览器中成功打开了该网站.但是当我对代码进行一些更改时 - 没有任何反应.所以我登录到"dev"机器:

$ docker-machine ssh dev
Run Code Online (Sandbox Code Playgroud)

我没找到我的代码!所以我登录了docker"web"图片: …

docker-compose docker-machine

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

使用docker-compose将文件添加到标准图像

我不确定是否有明显的东西逃脱了我或者是否只是不可能但是我正在尝试用来自docker hub的图像组成一个完整的应用程序堆栈.

其中一个是mysql,它支持通过卷添加自定义配置文件,并从已安装的目录运行.sql文件.

但是,我在运行docker-compose的机器上有这些文件,而不是在主机上.在运行entrypoint/cmd之前,是否无法指定本地计算机中的文件复制到容器中?我是否真的必须为这种情况创建一切的本地图像?

docker docker-compose

26
推荐指数
4
解决办法
4万
查看次数

Docker-compose up:获取服务器 API 版本时出错:('连接中止。',ConnectionRefusedError(61,'连接被拒绝'))

我正在尝试docker-compose up在我的终端中执行命令。首先,我导航到找到 docker-compose.yaml 的文件目录。然后我写命令。服务器在端口 80 上。我收到以下错误:

Traceback (most recent call last):
      File "site-packages/docker/api/client.py", line 205, in _retrieve_server_version
      File "site-packages/docker/api/daemon.py", line 181, in version
      File "site-packages/docker/utils/decorators.py", line 46, in inner
      File "site-packages/docker/api/client.py", line 228, in _get
      File "site-packages/requests/sessions.py", line 543, in get
      File "site-packages/requests/sessions.py", line 530, in request
      File "site-packages/requests/sessions.py", line 643, in send
      File "site-packages/requests/adapters.py", line 498, in send
    requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionRefusedError(61, 'Connection refused'))
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call …
Run Code Online (Sandbox Code Playgroud)

php api docker server docker-compose

26
推荐指数
7
解决办法
2万
查看次数

如何在 docker 桌面中重命名 docker-compose.yml 容器组?

我已经构建了一个docker-compose.yml文件,但是默认情况下我看到 Docker 桌面应用程序按父文件夹名称命名容器组。

在此输入图像描述

我需要将该名称docker更改为另一个名称

这是我的文件资源管理器路径: 在此输入图像描述

谢谢

docker docker-compose

26
推荐指数
2
解决办法
1万
查看次数

您在与当前使用的平台不同的另一个平台上安装了 esbuild

我正在尝试在 docker 容器内容器化 Svelte js 应用程序,并且在日志中收到此错误,抱怨不同平台中的 esbuild,我使用的是 M1 mac,我尝试esbuild-wasm按照日志建议进行安装,并尝试npm i esbuild-linux-arm64作为一个步骤在 docker 文件中并尝试RUN npm install yarn按照日志建议使用纱线,因为它有内置的东西处理平台,但它不起作用我的 docker 文件

FROM node:16.10.0
WORKDIR /my-website
COPY package.json .
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
Run Code Online (Sandbox Code Playgroud)

错误是

You installed esbuild on another platform than the one you're currently using.
This won't work because esbuild is written with native code and needs to
install a platform-specific binary executable.

Specifically the "esbuild-darwin-arm64" package is present but …
Run Code Online (Sandbox Code Playgroud)

npm docker dockerfile docker-compose svelte

26
推荐指数
2
解决办法
3万
查看次数

Pip install -e软件包不会出现在Docker中

我有一个requirements.txt包含的文件,其中包括:

Flask-RQ==0.2
-e git+https://token:x-oauth-basic@github.com/user/repo.git#egg=repo
Run Code Online (Sandbox Code Playgroud)

当我尝试使用Docker Compose构建一个Docker容器时,它会下载这两个软件包并安装它们,但是当我这样做时pip freeze,没有-e包的标志.当我尝试运行应用程序时,看起来好像没有安装此软件包.这是构建的相关输出:

Collecting Flask-RQ==0.2 (from -r requirements.txt (line 3))
  Downloading Flask-RQ-0.2.tar.gz
Obtaining repo from git+https://token:x-oauth-basic@github.com/user/repo.git#egg=repo (from -r requirements.txt (line 4))
  Cloning https://token:x-oauth-basic@github.com/user/repo.git to ./src/repo
Run Code Online (Sandbox Code Playgroud)

这是我的Dockerfile:

FROM python:2.7

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

COPY requirements.txt /usr/src/app/
RUN pip install -r requirements.txt

COPY . /usr/src/app
Run Code Online (Sandbox Code Playgroud)

我发现这种情况非常奇怪,并希望得到任何帮助.

python pip docker docker-compose

25
推荐指数
2
解决办法
9642
查看次数

使用docker-compose将docker容器相互链接时如何处理IP地址?

我正在使用docker-compose来构建一个完整的开发堆栈.

该应用程序需要一个mysql服务器才能工作.

mysql服务器是docker-compose设置的外部容器:

mysql:
    image: mysql:5.6
    volumes:
        - /data/mysql:/var/lib/mysql
        - ./docker/mysql.d:/etc/mysql/conf.d
    ports:
        - "3306:3306"
    environment:
        MYSQL_ROOT_PASSWORD: password
Run Code Online (Sandbox Code Playgroud)

该应用程序有自己的docker-compose.yml并引用mysql容器:

my-application:
    build: . # the Dockerfile resides in the current folder
    ports:
        - "9180:80"
        - "9543:443"
    external_links:
        - mysql_mysql_1:mysql
environment:
    DOCKER_ENVIRONMENT: dev
    DB_NAME: local_db
    DB_PASS: password
    DB_USER: root
    DB_HOST: # how to set the mysql's IP address?
Run Code Online (Sandbox Code Playgroud)

我无法在docker-compose中传递它们,因为它是动态的.

我知道应用程序知道mysql IP地址,因为我设置了某些变量:

application-container$ env|grep ADDR 
    MYSQL_PORT_3306_TCP_ADDR=172.17.0.241
Run Code Online (Sandbox Code Playgroud)

然而,这不是我的要求DB_HOST.

我可以以某种方式映射变量DB_HOST或以不同方式设置它吗?

ip docker docker-compose

25
推荐指数
1
解决办法
2万
查看次数

services.volumes的配置选项不受支持

第一次尝试设置docker,我遇到卷问题.我非常有信心.yml中的间距和格式在这一点上是正确的.

我尝试过版本3,3.1,3.2,3.3和3.4.所有都收到相同的错误消息(如下)

services.volumes不支持的配置选项:'db2_prod'

version: '3'

services:
   liberty:
     image: liberty:${liberty_tag}
     ports:
       - "${liberty_ip}:9080:9080"
       - "${liberty_ip}:9443:9443"
     restart: always

   apache:
     image: webapp:${apache_tag}
     ports:
       - "${apache_ip}:80:80"
       - "${apache_ip}:443:443"
     restart: always

   db2:
     image: db2:${db2_tag}
     ports:
       - "${db2_ip}:50000:50000"
     stdin_open: true
     tty: true
     restart: always
     volumes:
       - db2_prod:/database/stagg3

   volumes:
     db2_prod:
Run Code Online (Sandbox Code Playgroud)

containers docker docker-compose docker-volume

25
推荐指数
1
解决办法
2万
查看次数

无法执行脚本 docker-compose

我使用 mac 10.11.6 El capan 并安装了 docker 工具箱,我正在尝试使用 docker compose 构建选项,但我抛出了一些错误,如下所示,

kj$ docker-compose -f docker-compose-dev.yml build
Traceback (most recent call last):
  File "docker-compose", line 6, in <module>
  File "compose/cli/main.py", line 71, in main
  File "compose/cli/main.py", line 124, in perform_command
  File "compose/cli/command.py", line 41, in project_from_options
  File "compose/cli/command.py", line 113, in get_project
  File "compose/config/config.py", line 380, in load
  File "compose/config/config.py", line 380, in <listcomp>
  File "compose/config/config.py", line 513, in process_config_file
  File "compose/config/config.py", line 221, in get_service_dicts
  File "distutils/version.py", line 46, in …
Run Code Online (Sandbox Code Playgroud)

docker-compose

25
推荐指数
5
解决办法
4万
查看次数