mysql in a separate docker container

This commit is contained in:
Alexey Bannov 2017-07-06 12:12:54 -04:00
parent 49336ad4f2
commit 9848545d73
3 changed files with 60 additions and 6 deletions

View File

@ -21,7 +21,22 @@ RUN echo "${SOURCE_REPO_URL}" >> /etc/apt/sources.list && \
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \
locale-gen en_US.UTF-8 && \ locale-gen en_US.UTF-8 && \
apt-get -y update && \ apt-get -y update && \
apt-get install --force-yes -yq software-properties-common wget curl cron rsyslog && \ apt-get install --force-yes -yq software-properties-common wget curl cron rsyslog gcc make && \
wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz && \
tar xzvf openssl-1.1.0f.tar.gz && \
cd openssl-1.1.0f && \
./config && \
make && \
sudo make install && \
cd .. && \
rm -f openssl-1.1.0f.tar.gz && \ wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz && \
tar xzvf openssl-1.1.0f.tar.gz && \
cd openssl-1.1.0f && \
./config && \
make && \
sudo make install && \
cd .. && \
rm -f openssl-1.1.0f.tar.gz && \
wget http://nginx.org/keys/nginx_signing.key && \ wget http://nginx.org/keys/nginx_signing.key && \
apt-key add nginx_signing.key && \ apt-key add nginx_signing.key && \
echo "deb http://nginx.org/packages/mainline/ubuntu/ trusty nginx" >> /etc/apt/sources.list.d/nginx.list && \ echo "deb http://nginx.org/packages/mainline/ubuntu/ trusty nginx" >> /etc/apt/sources.list.d/nginx.list && \
@ -47,4 +62,6 @@ VOLUME ["/var/lib/mysql"]
EXPOSE 80 443 5222 3306 9865 9888 9866 9871 9882 5280 EXPOSE 80 443 5222 3306 9865 9888 9866 9871 9882 5280
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
CMD ["/app/onlyoffice/run-community-server.sh"]; CMD ["/app/onlyoffice/run-community-server.sh"];

View File

@ -0,0 +1,4 @@
[mysqld]
sql_mode = 'NO_ENGINE_SUBSTITUTION'
max_connections = 1000
max_allowed_packet = 1048576000

View File

@ -1,14 +1,43 @@
version: '3' version: '3'
services: services:
onlyoffice-mysql-server:
container_name: onlyoffice-mysql-server
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=my-secret-pw
- MYSQL_DATABASE=onlyoffice
- MYSQL_USER=onlyoffice_user
- MYSQL_PASSWORD=onlyoffice_pass
networks:
- onlyoffice
stdin_open: true
tty: true
restart: always
volumes:
- ./config/mysql/conf.d:/etc/mysql/conf.d
- mysql_data:/var/lib/mysql
onlyoffice-community-server: onlyoffice-community-server:
container_name: onlyoffice-community-server container_name: onlyoffice-community-server
image: onlyoffice/communityserver:latest image: onlyoffice/communityserver:latest
depends_on: depends_on:
- onlyoffice-mysql-server
- onlyoffice-document-server - onlyoffice-document-server
- onlyoffice-mail-server - onlyoffice-mail-server
environment: environment:
- MAIL_SERVER_DB_HOST=onlyoffice-mail-server - MAIL_SERVER_DB_HOST=onlyoffice-mail-server
- DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server - DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server
- MYSQL_ROOT_PASSWORD=my-secret-pw
- MYSQL_SERVER_DB_NAME=onlyoffice
- MYSQL_SERVER_HOST=onlyoffice-mysql-server
- MYSQL_SERVER_USER=onlyoffice_user
- MYSQL_SERVER_PASS=onlyoffice_pass
- MAIL_SERVER_API_PORT=8081
- MAIL_SERVER_API_HOST=onlyoffice-mail-server
- MAIL_SERVER_DB_HOST=onlyoffice-mysql-server
- MAIL_SERVER_DB_PORT=3306
- MAIL_SERVER_DB_NAME=onlyoffice_mailserver
- MAIL_SERVER_DB_USER=root
- MAIL_SERVER_DB_PASS=my-secret-pw
networks: networks:
- onlyoffice - onlyoffice
ports: ports:
@ -19,7 +48,6 @@ services:
tty: true tty: true
restart: always restart: always
volumes: volumes:
- community_mysql:/var/lib/mysql
- community_data:/var/www/onlyoffice/Data - community_data:/var/www/onlyoffice/Data
- community_log:/var/log/onlyoffice - community_log:/var/log/onlyoffice
- document_data:/var/www/onlyoffice/DocumentServerData - document_data:/var/www/onlyoffice/DocumentServerData
@ -42,7 +70,15 @@ services:
onlyoffice-mail-server: onlyoffice-mail-server:
container_name: onlyoffice-mail-server container_name: onlyoffice-mail-server
image: onlyoffice/mailserver:latest image: onlyoffice/mailserver:latest
depends_on:
- onlyoffice-mysql-server
hostname: ${MAIL_SERVER_HOSTNAME} hostname: ${MAIL_SERVER_HOSTNAME}
environment:
- MYSQL_SERVER=onlyoffice-mysql-server
- MYSQL_SERVER_PORT=3306
- MYSQL_ROOT_USER=root
- MYSQL_ROOT_PASSWD=my-secret-pw
- MYSQL_SERVER_DB_NAME=onlyoffice_mailserver
networks: networks:
- onlyoffice - onlyoffice
restart: always restart: always
@ -52,12 +88,10 @@ services:
tty: true tty: true
expose: expose:
- '8081' - '8081'
- '3306'
volumes: volumes:
- mail_data:/var/vmail - mail_data:/var/vmail
- mail_certs:/etc/pki/tls/mailserver - mail_certs:/etc/pki/tls/mailserver
- mail_log:/var/log - mail_log:/var/log
- mail_mysql:/var/lib/mysql
networks: networks:
onlyoffice: onlyoffice:
driver: 'bridge' driver: 'bridge'
@ -65,9 +99,8 @@ volumes:
mail_data: mail_data:
mail_certs: mail_certs:
mail_log: mail_log:
mail_mysql:
document_data: document_data:
document_log: document_log:
community_data: community_data:
community_log: community_log:
community_mysql: mysql_data: