jenia
Правильно. Поэтому и не понимаю почему так
Andrey
Andrey
А через docker run?
запускай и делай cp потом екзек
jenia
запускай и делай cp потом екзек
- docker-compose -f ./docker/mysql/docker-compose.yml up --build -d - docker exec database.dev bash /tmp/import.sh
jenia
Сейчас так у меня
jenia
jenia
Понять не могу это норм что он так монтирует?
jenia
import.sh #!/usr/bin/env bash mysql -uroot -proot < /tmp/dbcreation.sql
Anton
докер не все файлы монтирует, например php.ini нормально монтировало как файл
Anton
а для nginx файлы myhost.conf - это он считает как папка
Anton
подпапку создай и не мучайся
Anton
и прокидывай папку
jenia
и прокидывай папку
https://vike.io/ru/398334/
jenia
Брал оттуда это. Может разные версии compose у нас ? Такое может быть?
Anton
у меня 3 версия - так и не исправили
Anton
- data_sql:/dbcreation.sql ты в баш-скрипте пытаешься импортировать папку как файл?
jenia
у меня 3 версия - так и не исправили
Жаль. Придётся тогда папки прокидывать...
jenia
#command: mysqld --user=root --verbose volumes: - ./dbcreation.sql:/tmp/dbcreation.sql #- $PWD/import.sh:/tmp/import.sh ports: - "3308:3308"
jenia
gitlab: - docker-compose -f ./docker/mysql/docker-compose.yml up --build -d - docker exec database.dev ls -al /tmp
jenia
И все проходит. Удивительно. Значит не нравится ему sh файлы
Anton
а не проще папку мускула скопировать и ее потом подставлять? Вместо экспорта/импорта sql'ок?
Anton
по крайне мере мне такое 2 чела советовали
jenia
а не проще папку мускула скопировать и ее потом подставлять? Вместо экспорта/импорта sql'ок?
То что папки лучше прокидывать целиком а не по файлам - это я уже понял :) но все же мне кажется что для гибкости лучше все в sql держать
Anton
ну пробуй подпапку прокинуть
jenia
Кто подскажет как из файла .env в корне проекта высосать все переменные и поместить их в gitlab файл что бы потом ими оперировать?
jenia
jenia
ну пробуй подпапку прокинуть
volumes: - ./:/tmp/mysql #- $PWD/import.sh:/tmp/import.sh
jenia
gitlab: - docker exec database.dev bash /tmp/mysql/import.sh
jenia
Вообщем решилось только так. Файл делаем с рашрирением sh и в docker exec его так и вызываем sh /tmp/….file.sh. В сам sh файл вверху путь до sh.
Попов
Здравствуйте, хочу что-бы redis хранил свой кеш в файле, в docker-compose сделал следующее: services: redis: image: redis:6.0-rc1 restart: always volumes: - ./redis-data:/data контейнер стартует, в папке ./redis-data - пусто, захожу в контейнер: docker exec -it контейнер_редис bash делаю ls -la /data - там файл dump.rdb лежит с чем может быть связано?
Попов
Какая ОС?
Ubuntu 19.10 Linux web 5.3.0-26-generic #28-Ubuntu SMP Wed Dec 18 05:37:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Попов
Какая ОС?
Ubuntu 19.10
Попов
знаю, что есть костыли если на windows стоит, но тут то вроде все норм должно быть
central
Ubuntu 19.10
У меня так же фигня с файлами решение не нашел
Попов
У меня так же фигня с файлами решение не нашел
Опа... на этой версии Убунты именно?
Попов
Да
пиздец..... понял спасибо за информацию
Andrey
Вместо точки попробуй - ${PWD}/redis-data:/data
Попов
Вместо точки попробуй - ${PWD}/redis-data:/data
прописал прямой путь - /home/user/web/redis-data:/data не помогло
Попов
я прам теперь в замешательстве, ОС чтоли менять теперь
Andrey
А если так?
Bogdan
Всем привет Кто-то поднимал кафку на проде с этим образом https://github.com/bitnami/bitnami-docker-kafka ? Там скрипт есть для генерации хранилища ключей, но что-то я не то делаю Не могу что-то ssl настроить, без него все окей. Десктоп клиент кафки не подключается, а в логах ssl handshake error или как-то так
M
Поди самоподписный сертификат
KOPACb
Добрый день
KOPACb
А в компостере можно указать контейнер который запускается при обновлении один раз?
KOPACb
чтобы скрипты на БД запустить
Anonymous
чтобы скрипты на БД запустить
В компосе ты можешь заставить работать группу контейнеров и заставить их общаться между собой, касательно бекапов - настрой их выполнение в контейнере базы или создай новый контейнер который будет цепляться к базе и делать бекапы
KOPACb
мне при обновлении/установке надо один раз применить дельты/импортировать БД
KOPACb
просто хотелось бы все сделать в одном ямле, без внешних скриптов
Anonymous
Не для этого компос был придуман
Ильхом
Доброго времени суток, проблема с запуском проекта на докере имеется проект в нем есть Dockerfile и docker-compose.yml ввожу docker-compose up выскакивает WARNING: The CI_COMMIT_SHA variable is not set. Defaulting to a blank string. после чего идет установка компонентов но когда доходит до блока web и выскакивает следующая ошибка ERROR: no such image: gitlab.brln.tv:4567/rmb/xxx/web:: invalid reference format в чем ошибка как ее исправить помогите пожалуйста заранее спасибо
M
пните своего девопса/админа/пса, т.е того кто собирал это для вас, хотя может проблема в синтаксисе какого-то файлка
Ильхом
пните своего девопса/админа/пса, т.е того кто собирал это для вас, хотя может проблема в синтаксисе какого-то файлка
ранее была такая ошибка с версией 2.4 ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the services key, or omit the version key and place your service definitions at the root of the file to use version 1. For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/ после чего я поменял версию на 3.3 не сработало потом на 2.2 после чего я пришел к той ошибке что выше то есть все таки ошибка в самой сборке докера?
M
Ну вообще я не телеат другие тоже. Докерфайл докер композ надо на пастебин выложить
M
Показать
Sergei
gitlab.brln.tv:4567/rmb/xxx/web:: invalid reference format По-моему это image со ссылкой, в которой вместо тэга должен быть тот самый CI_COMMIT_SHA
Sergei
Поскольку его нет, то Defaulting to a blank string.
Sergei
получается неверный референс на образ
Sergei
https://docs.docker.com/compose/compose-file/#variable-substitution
Ильхом
gitlab.brln.tv:4567/rmb/xxx/web:: invalid reference format По-моему это image со ссылкой, в которой вместо тэга должен быть тот самый CI_COMMIT_SHA
Спросил на счет этого ответили так: -А зачем ты запускаешь контейнер web в локали? -Тебе это не надо -Запускай через manage.py -Тебе нужно запустить все кроме него через композ прямым указанием, например
Ильхом
Ну вообще я не телеат другие тоже. Докерфайл докер композ надо на пастебин выложить
Dockerfile FROM python:3.6.9-slim-stretch as base RUN apt-get update && apt-get install -y curl git libxml2-dev libxslt1-dev gnupg libjpeg62-turbo-dev python3-dev default-libmysqlclient-dev RUN curl -sL https://deb.nodesource.com/setup_8.x | bash - RUN apt-get update && apt-get install -y nodejs && \ rm -rf /var/lib/apt/lists/* FROM base as build WORKDIR /build RUN apt-get update && \ apt-get install -y build-essential default-libmysqlclient-dev python-dev zlib1g-dev && \ rm -rf /var/lib/apt/lists/* COPY requirements.txt ./ RUN pip install -r requirements.txt FROM base as release WORKDIR /app COPY --from=build /root/.cache /root/.cache COPY . . RUN addgroup --gid 998 gitlab-runner && useradd --uid 999 --gid 998 gitlab-runner RUN pip install -r requirements.txt ARG CI_ENVIRONMENT_NAME=dev ENV CI_ENVIRONMENT_NAME=${CI_ENVIRONMENT_NAME} RUN python manage.py collectstatic --noinput VOLUME /app/static VOLUME /app/media docker-compose version: '2.4' services: web: image: gitlab.brln.tv:4567/rmb/xxx/web:${CI_COMMIT_SHA} hostname: web command: bash -c "gunicorn wsgi:application -c gunicorn.conf.py" volumes: - ./ci/logs:/app/ci/logs - ./media:/app/media - ./static:/app/static depends_on: - db - redis restart: always db: image: percona:latest hostname: db command: --default-authentication-plugin=mysql_native_password environment: MYSQL_ROOT_PASSWORD: somepass ports: - "0.0.0.0:3306:3306" volumes: # хранилище данных - ./ci/mysql:/var/lib/mysql - ./ci/mysqld.conf:/etc/mysql/percona-server.conf.d/mysqld.cnf restart: always nginx: image: nginx:mainline ports: - "0.0.0.0:80:80" - "0.0.0.0:443:443" volumes: # хранилища конфигов и статических файлов - ./ci/nginx/dev:/etc/nginx/conf.d:ro - ./ci/seo/subdomains:/app/subdomains:ro - ./ci/ssl:/app/ssl:ro - ./ci/nginx/passwd:/etc/nginx/passwd volumes_from: - web:ro depends_on: - web restart: always mail: image: boky/postfix ports: - "0.0.0.0:587:587" environment: HOSTNAME: example.com ALLOWED_SENDER_DOMAINS: example.com depends_on: - web restart: always redis: image: redis:4-alpine ports: - "6380:6379" command: ["redis-server", "--appendonly", "yes"] hostname: redis volumes: - ./ci/redis:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 1s timeout: 3s retries: 30 restart: always
Sergei
О, я был прав. docker-compose up -d db mail redis
Александр
Добрый день! Кто-то сталкивался с пробросом портов через iptables внутри докера? Поднял openvpn сервер в докере и хочу с eth0 на tun0 перенаправлять трафик. Но dnat делает непонятные (для меня) вещи, вроде как перенаправляет в tun0, но куда-то не туда... Целевой сервис не получает ничего. Может кто сталкивался? Или лучше забросить это дело и не заморачиваться с openvpn сервером в докере?
Petr
ты локально у себя поднял докер контейнер и к нему цепляешься?
Petr
или у тебя сервак с openvpn внутри контейнера, при чем тут eth0?
KOPACb
Не для этого компос был придуман
ну так я в принципе не против для этого контейнер собрать, просто он не нужен запущеный все время
Max
Превед. ай нид хелп - перестал запускаться один из двух контейнеров Error starting container a0df89927f4092141705e46a362614d5bbaa8c883c5664b474f53ca9465ce851: 400 Client Error: Bad Request (\"OCI runtime create failed: container_linux.go:346: starting container process caused \"exec: \\\"./entrypoint.sh\\\": stat ./entrypoint.sh: no such file or directory\": unknown\
Max
файл на месте, права есть, перенос строки корректный. контейнеров два, один работает норм, второй стал выплёвывать это.
Max
и не ясно, почему stat: unknown - чего ему может на хватать?
KOPACb
rhjy d ljrtht&\
KOPACb
крон в докере?
Sluagh
подскажите куда копать: Есть два контейнера на одном хосте. Оба контейнера висят на одном bridge. Я могу попинговать один контейнер из другого, но при попытке подключиться на какой либо порт получаю connection refused.