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 && \
locale-gen en_US.UTF-8 && \
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 && \
apt-key add nginx_signing.key && \
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
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
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'
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:
container_name: onlyoffice-community-server
image: onlyoffice/communityserver:latest
depends_on:
- onlyoffice-mysql-server
- onlyoffice-document-server
- onlyoffice-mail-server
environment:
- MAIL_SERVER_DB_HOST=onlyoffice-mail-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:
- onlyoffice
ports:
@ -19,7 +48,6 @@ services:
tty: true
restart: always
volumes:
- community_mysql:/var/lib/mysql
- community_data:/var/www/onlyoffice/Data
- community_log:/var/log/onlyoffice
- document_data:/var/www/onlyoffice/DocumentServerData
@ -42,7 +70,15 @@ services:
onlyoffice-mail-server:
container_name: onlyoffice-mail-server
image: onlyoffice/mailserver:latest
depends_on:
- onlyoffice-mysql-server
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:
- onlyoffice
restart: always
@ -52,12 +88,10 @@ services:
tty: true
expose:
- '8081'
- '3306'
volumes:
- mail_data:/var/vmail
- mail_certs:/etc/pki/tls/mailserver
- mail_log:/var/log
- mail_mysql:/var/lib/mysql
networks:
onlyoffice:
driver: 'bridge'
@ -65,9 +99,8 @@ volumes:
mail_data:
mail_certs:
mail_log:
mail_mysql:
document_data:
document_log:
community_data:
community_log:
community_mysql:
mysql_data: