У меня проблемы со следующим docker -компонентным выполнением
PRMS_DEV_liam3_server:
image: bpmspace/liam3:liam3_master-production_server_master
hostname: PRMS_DEV_liam3_server
**command: sh -c "/var/www/html/sqldump/import_sql_all.sh && chown -R www-data:www-data /var/www/ && find /var/www/ -type f -exec chmod 660 {} \; && find /var/www/ -type d -exec chmod 770 {} \;"**
volumes:
- PRMS_DEV_liam3_server:/var/www/html
depends_on:
- PRMS_DEV_liam3_mariadb10
environment:
- DB_HOST=PRMS_DEV_liam3_mariadb10
- DB_PORT=3306
- DB_NAME=bpmspace
- DB_USER=bpmspace
- DB_PASSWORD=12
- DB_ROOT_PASSWORD=12
deploy:
labels:
- traefik.enable=true
- traefik.http.routers.PRMS_DEV_liam3_server.rule=Host(`PRMS_DEV_liam3_server.bpmspace.net`)
- traefik.http.services.PRMS_DEV_liam3_server-service.loadbalancer.server.port=80
placement:
constraints: [node.role == manager]
networks:
- proxy-net
"команда" НЕ запускает файлы журнала: "sh: 1: синтаксическая ошибка:" && "непредвиденный" do я должен уйти от "\", который я пробовал также с "\"? но, к сожалению, лог-файл ничего не говорит
Есть идеи? спасибо rob
----- добавлено из-за вопроса -----
HI
есть 2 активированных Dockerfile
1st ..
FROM php:7.3.5-apache-stretch
RUN docker-php-ext-install pdo_mysql mysqli
RUN docker-php-ext-enable pdo_mysql mysqli
RUN export DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y --no-install-recommends apt-utils
RUN echo "postfix postfix/mailname string placeholder.hostname.com" | debconf-set-selections
RUN echo "postfix postfix/main_mailer_type string 'Satellite system'" | debconf-set-selections
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y postfix
RUN apt-get install -y openssh-client
RUN apt-get install -y mysql-client
RUN apt-get install -y mailutils
RUN apt-get install -y libicu-dev
RUN apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) intl pdo_mysql bcmath mbstring exif gd
RUN a2enmod rewrite
RUN mkfifo /var/spool/postfix/public/pickup
RUN curl -L https://storage.googleapis.com/etcd/v3.4.3/etcd-v3.4.3-linux-amd64.tar.gz -o /tmp/etcd-v3.4.3-linux-amd64.tar.gz
RUN mkdir /tmp/etcd-download
RUN tar xzvf /tmp/etcd-v3.4.3-linux-amd64.tar.gz -C /tmp/etcd-download --strip-components=1
RUN rm -f /tmp/etcd-v3.4.3-linux-amd64.tar.gz
RUN cp /tmp/etcd-download/etcdctl /usr/local/bin/
RUN rm -rf /tmp/etcd-download/
RUN etcdctl version
COPY production_server_master.sh /usr/local/bin/production_server_master.sh
для создания "bpmspace / docker_bpmspace_base: production_server_master"
вы можете получить его с помощью "docker pull bpmspace / liam3: liam3_master-production_server_master"
2nd
FROM bpmspace/docker_bpmspace_base:production_server_master
COPY . /var/www/html/
COPY scripts/liam3-entrypoint.sh /usr/local/bin/
COPY scripts/liam3-import_sql_all.sh /usr/local/bin/
RUN chmod 700 /usr/local/bin/*.sh
RUN ln -s /usr/local/bin/liam3-entrypoint.sh / # backwards compat
ENTRYPOINT ["liam3-entrypoint.sh"]
для создания "bpmspace / docker_bpmspace_base: production_server_master"
вы можете получить его с помощью "docker pull bpmspace / liam3: liam3_master-production_server_master" и файлов из https://github.com/BPMspaceUG/liam3
3 задействованных *. sh ..
1) production_server_master. sh
#!/bin/bash
chown -R www-data:www-data /var/www/
find /var/www/ -type f -exec chmod 660 {} \;
find /var/www/ -type d -exec chmod 770 {} \;
2) liam3-entrypoint. sh
#!/bin/sh
set -e
/usr/local/bin/production_server_master.sh
/usr/local/bin/liam3-import_sql_all.sh
# first arg is `-f` or `--some-option`
if [ "${1#-}" != "$1" ]; then
set -- apache2-foreground "$@"
fi
exec "$@"
3) liam3-import_sql_all. sh
#!/bin/bash
for i in {1..50}
do
# check if db is up
mysql -u root -p$DB_ROOT_PASSWORD -h $DB_HOST $DB_NAME -e "use bpmspace_liam3-v1;"
if [ $? -eq 0 ]
then
mysql -u root -p$DB_ROOT_PASSWORD -h $DB_HOST $DB_NAME < /var/www/html/sqldump/bpmspace_liam3_v1_structure.sql
mysql -u root -p$DB_ROOT_PASSWORD -h $DB_HOST $DB_NAME < /var/www/html/sqldump/bpmspace_liam3_v1_statemachine.sql
mysql -u root -p$DB_ROOT_PASSWORD -h $DB_HOST $DB_NAME < /var/www/html/sqldump/bpmspace_liam3_v1_min.sql
mysql -u root -p$DB_ROOT_PASSWORD -h $DB_HOST $DB_NAME < /var/www/html/sqldump/bpmspace_liam3_v1_diff.sql
exit 0
else
sleep 5
fi
done
echo "Failure: Could not connect to $DB_HOST $DB_NAME" >&2
exit 1
но я получаю и "Состояние остановлено на несколько секунд с кодом выхода 0" при запуске контейнера
Не знаю почему - лог-файл пуст
, когда я комментирую "#ENTRYPOINT [" liam3-entrypoint. sh "]" во 2-м док-файле rvers запускается без проблем
Когда я "bash в контейнер" и выполняю "/liam3-entrypoint.sh", это работает как чудо-код, и импортируется БД sql, а также права set.
сервер (служба) работает в docker рое с
docker развертывание стека --compose-file docker -compose.yml PRMS-DEV
спасибо, грабите