Commit e867009a9a0d35a4771ec316131ccef635c68807

Authored by Guilherme Andrade Del Cantoni
1 parent 00233357

Mundaça de container base para o mysql

Showing 2 changed files with 57 additions and 16 deletions   Show diff stats
mysql/Dockerfile
... ... @@ -3,7 +3,7 @@
3 3 ############################################################
4 4  
5 5 # Definição da imagem de base para o CentOS 6.X
6   -FROM mysql/mysql-server:5.6
  6 +FROM centos:centos6
7 7  
8 8 # Autor e mantenedor do container
9 9 MAINTAINER PEN - Processo Eletrônico Nacional
... ... @@ -12,13 +12,17 @@ MAINTAINER PEN - Processo Eletrônico Nacional
12 12 # Instalação do MySQL seguindo as recomendações descritas na documentação do SEI
13 13  
14 14 ENV TERM xterm
15   -ENV MYSQL_ALLOW_EMPTY_PASSWORD 'yes'
  15 +
16 16  
17 17 COPY install.sh /install.sh
18   -COPY 1-preinstall.sql /tmp/1-preinstall.sql
19   -COPY sei-db-ref-executivo/mysql/sei_3_0_0_BD_Ref_Exec.sql /tmp/2-sei_mysql.sql
20   -COPY sei-db-ref-executivo/mysql/sip_3_0_0_BD_Ref_Exec.sql /tmp/3-sip_mysql.sql
21   -COPY 4-posinstall.sql /tmp/4-posinstall.sql
  18 +COPY sei-db-ref-executivo/mysql/sei_3_0_0_BD_Ref_Exec.sql /tmp/sei_mysql.sql
  19 +COPY sei-db-ref-executivo/mysql/sip_3_0_0_BD_Ref_Exec.sql /tmp/sip_mysql.sql
22 20  
23 21 RUN bash /install.sh
24 22  
  23 +# Exposição da porta de conexão ao MySQL Server
  24 +EXPOSE 3306
  25 +
  26 +# Inicialização do serviço
  27 +CMD ["/usr/bin/mysqld_safe", "--bind-address=0.0.0.0"]
  28 +
... ...
mysql/install.sh
... ... @@ -2,22 +2,59 @@
2 2  
3 3 set -e
4 4  
5   -# Constroi script de restauração da base de dados do sistema
6   -cat /tmp/1-preinstall.sql > /docker-entrypoint-initdb.d/install.sql
  5 +yum update -y
7 6  
8   -# Script de restauração da base de dados do SEI
9   -echo "USE sei;" >> /docker-entrypoint-initdb.d/install.sql
10   -cat /tmp/2-sei_mysql.sql >> /docker-entrypoint-initdb.d/install.sql
  7 +yum install -y wget
11 8  
12   -#Script de restauração da base de dados do SIP
13   -echo "USE sip;" >> /docker-entrypoint-initdb.d/install.sql
14   -cat /tmp/3-sip_mysql.sql >> /docker-entrypoint-initdb.d/install.sql
  9 +# Instalar o MySQL 5.6
  10 +wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
  11 +rpm -ivh mysql-community-release-el6-5.noarch.rpm
  12 +yum -y install mysql-server
15 13  
16   -# Aplica ajustes nas tabelas de sistema e órgão do SIP e SEI
17   -cat /tmp/4-posinstall.sql >> /docker-entrypoint-initdb.d/install.sql
  14 +# Inicialização do diretório de armazenamento do MySQL.
  15 +# PS: Utilizando configuração insegura apenas para propósito de desenvolvimento
  16 +rm -rf /var/lib/mysql/*
  17 +chown -R mysql:mysql /var/lib/mysql
  18 +#mysqld --user=mysql --initialize-insecure
  19 +mysql_install_db --user=mysql --datadir="/var/lib/mysql" --rpm --keep-my-cnf
  20 +
  21 +# Inicialização do banco de dados
  22 +/etc/init.d/mysqld start
  23 +
  24 +# Criação dos bancos de dados do sistema
  25 +mysqladmin create sip
  26 +mysqladmin create sei
  27 +
  28 +# Criação dos usuários utilizados na conexão com SEI e SIP
  29 +mysql -e "CREATE USER 'sip_user'@'%' IDENTIFIED BY 'sip_user'" sip
  30 +mysql -e "CREATE USER 'sei_user'@'%' IDENTIFIED BY 'sei_user'" sei
  31 +mysql -e "GRANT ALL PRIVILEGES ON sip.* TO 'sip_user'@'%'" sip
  32 +mysql -e "GRANT ALL PRIVILEGES ON sei.* TO 'sei_user'@'%'" sei
  33 +
  34 +# Restauração dos bancos de dados
  35 +mysql sei < /tmp/sei_mysql.sql
  36 +mysql sip < /tmp/sip_mysql.sql
  37 +rm -f /tmp/sei_mysql.sql /tmp/sip_mysql.sql
  38 +
  39 +# Atualização dos parâmetros do SEI e do SIP
  40 +mysql -e "update orgao set sigla='ABC', descricao='ORGAO ABC' where id_orgao=0;" sip
  41 +mysql -e "update sistema set pagina_inicial='http://localhost/sip' where sigla='SIP';" sip
  42 +mysql -e "update sistema set pagina_inicial='http://localhost/sei/inicializar.php', web_service='http://localhost/sei/controlador_ws.php?servico=sip' where sigla='SEI';" sip
  43 +mysql -e "update orgao set sigla='ABC', descricao='ORGAO ABC' where id_orgao=0;" sei
  44 +
  45 +# Remove registros de auditoria presentes na base de referência
  46 +mysql -e "delete from auditoria_protocolo;" sei
  47 +
  48 +# Configuração para utilizar autenticação nativa do SEI/SIP
  49 +mysql -e "update orgao set sin_autenticar='N' where id_orgao=0;" sip
  50 +
  51 +# Atribuição de permissões de acesso externo para o usuário root, senha root
  52 +mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;"
18 53  
19 54 # Correção de problema com o registro de log de documentos contendo imagens
20 55 echo "max_allowed_packet=268435456" >> /etc/my.cnf
21 56 echo "sql-mode=NO_ENGINE_SUBSTITUTION" >> /etc/my.cnf
22 57  
  58 +yum clean -y all
  59 +
23 60 exit 0
... ...