docker安装

docker安装

      • 1.docker 安装
          • 查看linux版本
          • 配置docker-utils以及docker-ce源
          • 更新缓存
          • 安装docker-ce docker-ce-cli containerd.io
          • 启动docker并设置开机自启
      • 2.docker安装mysql
          • 拉取mysql镜像
            • 启动镜像
          • 连接不上刚启动的mysql报1251错误时
      • 3.docker安装redis

1.docker 安装

查看linux版本
# 系统内核 3.10 以上
uname -r
配置docker-utils以及docker-ce源
yum install -y yum-utils
yum-config-manager --add-repo   \
  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新缓存
yum makecache fast
安装docker-ce docker-ce-cli containerd.io
yum install docker-ce docker-ce-cli containerd.io
启动docker并设置开机自启
systemctl start docker
systemctl enable docker

2.docker安装mysql

拉取mysql镜像
docker pull mysql
启动镜像
docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql


-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。


-v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。


-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。


-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。


-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

连接不上刚启动的mysql报1251错误时

进入容器

docker exec -it 0ddbbb10a931  /bin/bash

进去mysql

mysql -uroot -p

授权

> GRANT ALL ON *.* TO 'root'@'%';

刷新权限

> flush privileges;

更新加密规则

> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

更新用户密码

> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

刷新权限

> flush privileges;

这下就连接上了

3.docker安装redis

拉取镜像
docker pull redis
下载redis的配置文件
wget http://download.redis.io/redis-stable/redis.conf
启动镜像

docker run -p 6379:6379 --name my_redis \
-v /home/redisredis.conf:/etc/redis/redis.conf \
-v /home/redisdata:/data \
-d redis redis-server \
/etc/redis/redis.conf --appendonly yes

查看redis密码

# 这样是没有密码的
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""

设置密码

> config set requirepass 123456

重新登录(下边是设置密码后的,没有进行校验获取不到密码)

127.0.0.1:6379> config get requirepass
(error) NOAUTH Authentication required.

你可能感兴趣的:(docker安装)