[CLion] Docker environment
От: SaZ  
Дата: 14.04.21 14:14
Оценка:
Здравствуйте,

Создал контейнер с окружением для разработки. Подключился к нему из CLion. Всё работает отлично, но есть два вопроса:

1) Как можно настроить синхронизацию так, чтобы выхлоп программы копировался из контейнера назад в рабочую папку?
2) Возможно ли сделать так, чтобы заработал автокомплит? (Не работает с включенными PCH).
Re: [CLion] Docker environment
От: GarryIV  
Дата: 15.04.21 06:40
Оценка: +1
Здравствуйте, SaZ, Вы писали:

SaZ>Создал контейнер с окружением для разработки. Подключился к нему из CLion. Всё работает отлично, но есть два вопроса:


SaZ>1) Как можно настроить синхронизацию так, чтобы выхлоп программы копировался из контейнера назад в рабочую папку?

Замапить папку внутрь докера.
WBR, Igor Evgrafov
Re: [CLion] Docker environment
От: vromanik  
Дата: 15.04.21 08:11
Оценка: +1
Здравствуйте!

SaZ>1) Как можно настроить синхронизацию так, чтобы выхлоп программы копировался из контейнера назад в рабочую папку?

Я бы использовал докеровские mapped volumes, т.е. при запуске контейнера замапил бы локальную директорию на директорию внутри докера буда будут складываться артефакты.

docker run -d -v/home/user/local/project:/tmp/docker/project -p127.0.0.1:2222:22 clion/remote-alpine:1.0

важная деталь: изначально проект выливается внутрь докера по автосгенерированному пути, подправить эти настройки можно в секции File | Settings | Build, Execution, Deployment | Deployment | Select Configuration | Mappings.


SaZ>2) Возможно ли сделать так, чтобы заработал автокомплит? (Не работает с включенными PCH).

По идее это должно работать. Есть возможность предоставить минимальный пример (лучше сразу маленький проект), на котором можно воспроизвести проблему.
Спасибо!
Re: [CLion] Docker environment
От: vromanik  
Дата: 15.04.21 08:13
Оценка:
Здравствуйте!

SaZ>1) Как можно настроить синхронизацию так, чтобы выхлоп программы копировался из контейнера назад в рабочую папку?

Я бы использовал докеровские mapped volumes, т.е. при запуске контейнера замапил бы локальную директорию на директорию внутри докера буда будут складываться артефакты.

docker run -d -v/home/user/local/project:/tmp/docker/project -p127.0.0.1:2222:22 clion/remote-alpine:1.0

важная деталь: изначально проект выливается внутрь докера по автосгенерированному пути, подправить эти настройки можно в секии File | Settings | Build, Execution, Deployment | Deployment | Select Configuration | Mappings.


SaZ>2) Возможно ли сделать так, чтобы заработал автокомплит? (Не работает с включенными PCH).

По идее должно работать. Есть возможность предоставить минимальный пример (лучше сразу маленький проект), на котором можно воспроизвести проблему.
Спасибо!
Re[2]: [CLion] Docker environment
От: SaZ  
Дата: 15.04.21 12:13
Оценка:
Здравствуйте, vromanik, Вы писали:

V>Здравствуйте!

V>Я бы использовал докеровские mapped volumes, т.е. при запуске контейнера замапил бы локальную директорию на директорию внутри докера буда будут складываться артефакты.
V>docker run -d -v/home/user/local/project:/tmp/docker/project -p127.0.0.1:2222:22 clion/remote-alpine:1.0

В принципе как вариант должно прокатить. Но мне показалось, что можно и без этого

V>важная деталь: изначально проект выливается внутрь докера по автосгенерированному пути, подправить эти настройки можно в секции File | Settings | Build, Execution, Deployment | Deployment | Select Configuration | Mappings.


Я правильно понимаю, что маппинг должен работать в обе стороны?


SaZ>>2) Возможно ли сделать так, чтобы заработал автокомплит? (Не работает с включенными PCH).

V>По идее это должно работать. Есть возможность предоставить минимальный пример (лучше сразу маленький проект), на котором можно воспроизвести проблему.
V>Спасибо!

Да, конечно, сейчас попробую сделать минимальный пример.
Re[2]: [CLion] Docker environment
От: SaZ  
Дата: 15.04.21 12:44
Оценка:
SaZ>>2) Возможно ли сделать так, чтобы заработал автокомплит? (Не работает с включенными PCH).
V>По идее это должно работать. Есть возможность предоставить минимальный пример (лучше сразу маленький проект), на котором можно воспроизвести проблему.
V>Спасибо!

В принципе стандартный проект, и ваш пример докерфайла + vcpkg.

https://youtrack.jetbrains.com/issue/CPP-24862

P.S. а какую видимость у тикета лучше выставлять? Можно ли как-то сделать видимым для всех?
Re[2]: [CLion] Docker environment
От: Reset  
Дата: 15.04.21 21:23
Оценка:
SaZ>>1) Как можно настроить синхронизацию так, чтобы выхлоп программы копировался из контейнера назад в рабочую папку?
GIV>Замапить папку внутрь докера.

Вполне рабочее решение, пока это docker, а не podman, который, похоже, подвинет докера со временем (а на Федоре уже).
Re[3]: [CLion] Docker environment
От: Cyberax Марс  
Дата: 16.04.21 00:11
Оценка:
Здравствуйте, Reset, Вы писали:

GIV>>Замапить папку внутрь докера.

R>Вполне рабочее решение, пока это docker, а не podman, который, похоже, подвинет докера со временем (а на Федоре уже).
Podman поддерживает разделяемые папки.
Sapienti sat!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.