Как получить объем данных с помощью подключения SSH - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь получить данные тома докера с удаленного сервера.Теперь мои данные тома докера находятся на моей локальной машине.Но я хочу сделать эти данные доступными для всех.Поэтому я скопировал файл тома докера на сервер.Как мне показать путь к файлу данных тома докера на этом сервере в файле compose?Like;

docker-compose.yml

version: '3.2'

services:
  jira:
    container_name: jira-software_8.3
    image: atlassian/jira-software:8.3

    volumes:
      # How to get volume data using ssh connection
      - <user_name>@<server_ip>:<server_path>:<container_path>

    ports:
      - '8080:8080'
    environment:
      - 'JIRA_DATABASE_URL=postgresql://jira@postgresql/jira_db'
      - 'JIRA_DB_PASSWORD=docker'

volumes:
  jira_data:
    external: false

1 Ответ

1 голос
/ 19 сентября 2019

Невозможно смонтировать файлы и папки удаленного сервера, докер ищет монтирование в локальном контексте.

Таким образом, обходной путь заключается в копировании во время выполнения и монтировании каталога в контейнер.

scp -r -i yourkey.pem  centos@host.example.com:/home/centos/backup ./app/ && docker run --rm -it -v $PWD/app:/app alpine ash -c "ls /app"

ваш текущий docker-compose

    volumes:
      # How to get volume data using ssh connection

, так как вы не можете связать - <user_name>@<server_ip>:<server_path>:<container_path>

scp -r -i yourkey.pem  centos@host.example.com:/home/centos/backup ./app/ && docker run --rm -it -v $PWD/app:/app alpine ash -c "ls /app"

ниже сломает ваш docker-compose

    volumes:
      # How to get volume data using ssh connection
      - <user_name>@<server_ip>:<server_path>:<container_path>

обновить файл docker-compose

    volumes:
      - ./app/:/app/

, затем запустить команду docker-compose up, например

scp -r -i yourkey.pem  centos@host.example.com:/home/centos/backup ./app/ && docker-compose up
...