拉取镜像
tag选择版本号
# docker pull mysql/mysql-server:tag
我选择的是5.6
。
# docker pull mysql/mysql-server:5.6
安装完,查看镜像
# docker image ls
镜像是安装好了。可是,现在产生了一个问题,退出容器后改动会被重置,所以我们需要把数据保存起来。
上一次,我们用数据卷来持久化数据,然而这一次!我们还是用数据卷来持久化数据。
先在宿主机上创建一个文件夹
# cd /
# mkdir dockerdata
启动容器
# docker run --name mysql-data -v /dockerdata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="password" -d mysql/mysql-server:5.6
--name
:容器名
-v
:绑定数据卷,格式:“宿主机路径:容器路径”
-e
:设置环境变量,这里是设置mysql用户root的密码
-d
:后台运行容器
查看容器
# docker ps
进入容器
# docker exec -it mysql-data bash
进入数据库
# mysql -uroot -ppassword
已经成功了,那我们就来添加数据吧。
创建数据库
mysql> CREATE DATABASE test;
另开一个终端查看宿主机是否新增了数据库
# cd /dockerdata
# ls
查看demo
切换到容器终端,新增一个表,并加入一条数据
mysql> use demo
mysql> CREATE TABLE `test` (
-> `id` int(11) NOT NULL AUTO_INCREMENT,
-> PRIMARY KEY (`id`)
-> ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
mysql> INSERT INTO test (id) VALUES (1);
切换到宿主机
# ls
多了三个文件,数据已经保存!
Redis镜像,并持久化数据
# docker run --name redis -v /dockerdata/redis:/data -d -p 6379:6379 redis redis-server --appendonly yes --requirepass "password"
-p
:设置访问的端口
redis-server --appendonly yes
:持久化数据
--requirepass
:设置密码