2,docker安装MySQL与Redis

安装MySQL
[vagrant@localhost ~]$ docker pull mysql:5.7
-- snip --
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7
[vagrant@localhost ~]$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.7                 9cfcce23593a        2 weeks ago         448MB
[vagrant@localhost ~]$ su root
Password:
[root@localhost vagrant]# whoami
root
[root@localhost vagrant]# docker run -p 3306:3306 --name mysql \-->端口映射 取名
> -v /mydata/mysql/log:/var/log/mysql \
> -v /mydata/mysql/data:/var/lib/mysql \
> -v /mydata/mysql/conf:/etc/mysql \
> -e MYSQL_ROOT_PASSWORD=root \
> -d mysql:5.7
eaba8273d559684220da9c3f9f6b5999356880e954262a9249a87b1b2ca35fa0
[root@localhost vagrant]# docker ps (查看启用的容器)
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
eaba8273d559        mysql:5.7           "docker-entrypoint.s…"   46 seconds ago      Up 44 seconds       0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
[root@localhost vagrant]# docker exec -it mysql /bin/bash
root@eaba8273d559:/# ls /
bin   dev                         entrypoint.sh  home  lib64  mnt  proc  run   srv  tmp  var
boot  docker-entrypoint-initdb.d  etc            lib   media  opt  root  sbin  sys  usr
root@eaba8273d559:/# whereis mysql
mysql: /usr/bin/mysql /usr/lib/mysql /etc/mysql /usr/share/mysql
root@eaba8273d559:/# cd /var/log
root@eaba8273d559:/var/log# ls
alternatives.log  apt  btmp  dpkg.log  faillog  lastlog  mysql  wtmp
root@eaba8273d559:/var/log# exit;
exit

打开MySQL Workbench测试:在这里插入图片描述修改MySQL字符集为utf-8:

[root@localhost vagrant]# cd /mydata/
[root@localhost mydata]# ls
mysql
[root@localhost mydata]# cd mysql
[root@localhost mysql]# ls
conf  data  log
[root@localhost mysql]# cd conf/
[root@localhost conf]# ls
[root@localhost conf]# vi my.cnf

进入my.conf文件设置中,按"i" 复制

[client]
default-character-set=utf-8

[mysql]
default-character-set=utf-8

[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
skip-name-resolve

按ESC,再加":",再加wq,回车退出(如果不想保存按q即可)

[root@localhost conf]# ls
my.cnf
[root@localhost conf]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
eaba8273d559        mysql:5.7           "docker-entrypoint.s…"   40 minutes ago      Up 40 minutes       0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
[root@localhost conf]# docker restart mysql
mysql
[root@localhost conf]# docker exec -it mysql /bin/bash
root@eaba8273d559:/# cd /etc/mysql/
root@eaba8273d559:/etc/mysql# ls
my.cnf
root@eaba8273d559:/etc/mysql# cat my.cnf-->查看my.conf配置文件
[client]
default-character-set=utf-8

[mysql]
default-character-set=utf-8

[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
skip-name-resolve
root@eaba8273d559:/etc/mysql#
安装Redis
[root@localhost vagrant]# docker pull redis
Using default tag: latest
latest: Pulling from library/redis
8559a31e96f4: Already exists                                                                                            85a6a5c53ff0: Pull complete                                                                                             b69876b7abed: Pull complete                                                                                             a72d84b9df6a: Pull complete                                                                                             5ce7b314b19c: Pull complete                                                                                             04c4bfb0b023: Pull complete                                                                                             Digest: sha256:800f2587bf3376cb01e6307afe599ddce9439deafbd4fb8562829da96085c9c5
Status: Downloaded newer image for redis:latest
docker.io/library/redis:latest
[root@localhost vagrant]# mkdir -p /mydata/redis/conf
[root@localhost vagrant]# cd /mydata/
[root@localhost mydata]# ls
mysql  redis
[root@localhost mydata]# cd redis/
[root@localhost redis]# ls
conf
[root@localhost redis]# cd conf/
[root@localhost conf]# ls
[root@localhost conf]# touch redis.conf
[root@localhost conf]# docker run -p 6379-6379 -name redis -v /mydata/redis/data:/data \
> -v /mydata/redis/conf/redis.conf:etc/redis/redis.conf \
> -d redis redis-server /etc/redis/redis.conf
unknown shorthand flag: 'n' in -name
See 'docker run --help'.
[root@localhost conf]# docker run -p 6379-6379 --name redis -v /mydata/redis/data:/data \
> -v /mydata/redis/conf/redis.conf:etc/redis/redis.conf \
> -d redis redis-server /etc/redis/redis.conf
docker: Error response from daemon: invalid volume specification: '/mydata/redis/conf/redis.conf:etc/redis/redis.conf': invalid mount config for type "bind": invalid mount path: 'etc/redis/redis.conf' mount path must be absolute.
See 'docker run --help'.
[root@localhost conf]# docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \
> -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
> -d redis redis-server /etc/redis/redis.conf
b31f32aaadc1d4b4deefe512b8b14c1e022f2f7ad3e68f844a9b993b0027b052
[root@localhost conf]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
b31f32aaadc1        redis               "docker-entrypoint.s…"   11 seconds ago      Up 9 seconds        0.0.0.0:6379->6379/tcp              redis
eaba8273d559        mysql:5.7           "docker-entrypoint.s…"   About an hour ago   Up 25 minutes       0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
[root@localhost conf]# pwd
/mydata/redis/conf
[root@localhost conf]# ls
redis.conf
[root@localhost conf]# vi redis.conf
[root@localhost conf]# docker restart redis
redis
[root@localhost conf]# docker exec -it redis redis-cli
127.0.0.1:6379> set aa bb
OK
127.0.0.1:6379> get aa
"bb"
127.0.0.1:6379> exit
[root@localhost conf]# docker restart redis
redis
[root@localhost conf]# docker exec -it redis redis-cli
127.0.0.1:6379> get aa
"bb"

安装Redis Desktop Manager,测试:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/KAIZ_LEARN/article/details/107638247