mysql 5.6
下载&运行
docker pull mysql:5.6
docker run -p 3306:3306 --name mysql56 -v /home/laolang/program/docker/mysql56/my.cnf -v /home/laolang/program/docker/mysql56/logs:/logs -v /home/laolang/program/docker/mysql56/data:/mysql_data -e MYSQL_ROOT_PASSWORD=root -d mysql:5.6 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
docker run -p 3306:3306 --name mysql56 指定端口和名称
-v /home/laolang/program/docker/mysql56/my.cnf 指定配置文件
-v /home/laolang/program/docker/mysql56/logs:/logs 指定日志目录
-v /home/laolang/program/docker/mysql56/data:/mysql_data 指定数据目录
-e MYSQL_ROOT_PASSWORD=root 指定root密码
-d mysql:5.6 后台运行
my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
mysql命令行
env LANG=C.UTF-8 时为了支持中文输入
docker exec -i -t mysql56 env LANG=C.UTF-8 /bin/bash
导入导出
- 导出
docker exec -it mysql_server mysqldump -uroot -proot test_db > /opt/sql_bak/test_db.sql
- 导入
- 将宿主机上的数据sql复制到容器的文件下----因为是-v 启动 文件结构目录保持一致
- docker cp /opt/gysql.sql gysql (容器名称):/opt/gysql.sql
- 进入容器—》docker exec -it gysql (容器名称) bash
- 登录容器内的mysql数据库------》mysql -uroot -p123456
- 创建对象的数据库 create database somp;
- 使用use somp —>执行 source /opt/gysql.sql
- exit
redis.2
docker pull redis:3.2
docker run -p 6379:6379 --name redis32 -v /home/laolang/program/docker/redis32/redis.conf:/etc/redis/redis.conf -v /home/laolang/program/docker/redis32/data:/data -d redis:3.2 redis-server /etc/redis/redis.conf --appendonly yes
/home/laolang/program/docker/redis32/redis.conf 是目录
docker run -p 6379:6379 -–name redis32 把容器内的6379端口映射到宿主机6379端口
-v /home/laolang/program/docker/redis32/redis.conf:/etc/redis/redis.conf 把宿主机配置好的redis.conf放到容器内的这个位置中
-v /home/laolang/program/docker/redis32/data:/data 把redis持久化的数据在宿主机内显示,做数据备份
-d redis:3.2 redis-server /etc/redis/redis.conf 这个是关键配置,让redis不是无配置启动,而是按照这个redis.conf的配置启动
-–appendonly yes redis启动后数据持久化
redis.conf
#用守护线程的方式启动
daemonize no
#给redis设置密码
#requirepass yourpassword
#注释掉这部分,这是限制redis只能本地访问
#bind 192.168.1.1
#redis持久化
appendonly yes
mongodb
docker pull mongo:3.2
docker run -p 27017:27017 --name mongo32 -v /home/laolang/program/docker/mongo32/db:/data/db -d mongo:3.2