因开发需要,安装 Mysql 环境并使用 Docker Compose 容器化
Just lookup in github - raphaelli/Dockerfiles/mysql/
Mysql 的 Docker Compose 安装
拉取镜像:
1 2 3
| docker pull mysql:5.7 docker images | grep mysql
|
配置docker-compose 文件
创建需要的目录:
1 2
| mkdir -p /docker/mysql/data mkdir -p /docker/mysql/conf
|
新建目录后,将你需要的mysql配置文件 mymysqld.cnf 放到conf目录里:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
| [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql skip-external-locking bind-address = 0.0.0.0 key_buffer_size = 16M max_allowed_packet = 16M thread_stack = 192K thread_cache_size = 8 myisam-recover-options = BACKUP query_cache_limit = 1M query_cache_size = 16M log_error = /var/log/mysql/error.log expire_logs_days = 10 max_binlog_size = 100M
|
上面的配置是默认的配置, 只修改了 bind-address = 0.0.0.0, 用于远程链接。
编写docker-compose 文件docker-compose.yml:
1 2 3 4 5 6 7 8 9 10 11 12
| version: '3' services: mysql_compose: image: mysql:5.7 container_name: mysql_compose ports: - 6606:3306 volumes: - /docker/mysql/data:/var/lib/mysql - /docker/mysql/conf/mymysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf environment: MYSQL_ROOT_PASSWORD: "123456"
|
注意: 端口(ports) 和 卷(volumes) 的配置。以及 root 密码!
Docker使用-p选项允许容器上的端口映射到主机上的端口。如果你如上所述启动容器(6606:3306),你可以通过将客户机连接到主机上的端口(6606)来连接到数据库。
运行mysql image
进入到上面编写的docker-compose.yml文件的目录,运行:
开机自动运行
找到/etc/rc.local文件(exit 0
)之前添加,添加以下脚本
1
| /usr/local/bin/docker-compose -f /docker/mysql/docker-compose.yml up -d
|
其中-f参数是指定docker-compose.yml文件的参数
设置完以后,重启操作系统,耐心等待一会,就可以看到对应的docker容器都启动起来了