虚拟机docker环境搭建

环境搭建

docker安装下载

删除之前版本

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

安装yum工具

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken

``
更新本地镜像源

```java
# 设置docker镜像源
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
//第二步
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
//第三步
yum makecache fast
//下载ce免费版
yum install -y docker-ce

关闭防火墙

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
#查看是否关闭防火墙
systemctl status firewalld

配置阿里镜像加速

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://iuqgaarw.mirror.aliyuncs.com"]
}
EOF
//重新加载文件
sudo systemctl daemon-reload
//重启
sudo systemctl restart docker

通过命令启动docker

systemctl start docker  # 启动docker服务
systemctl stop docker  # 停止docker服务
systemctl restart docker  # 重启docker服务
systemctl status docker #查看docker运行状态

docker安装mysql

sudo docker pull mysql:5.7

 sudo 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
//开机启动
sudo docker update mysql --restart=always

也是挂载

sudo docker run -p 3306:3306 --name mysql --restart=always \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql --privileged=true \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7



sudo docker run -p 3306:3306 --name mysql --restart=always -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

删除所有停用的容器

docker ps -a|grep 'Exited'|cut -d' ' -f1|xargs -I {} docker rm {}

mysql权限问题

进入容器

docker exec -it 容器Id /bin/bash

安装vim

apt-get update
apt-get install vim

登录mysql
在这里插入图片描述

mysql -u root -p
# 设置root用户在任何地方进行远程登录,并具有所有库任何操作权限,(公司绝对不能这么做,暴露的攻击面太大),这里只是做测试。 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;  # 刷新权限 mysql> FLUSH PRIVILEGES;



// 查询库中的账号和允许连接的host

select user,host from user;
// 给root 用户授权所有的权限以及能访问的ip
grant all privileges on *.* to root@"125.70.29.85" identified by "root";

//开启远程访问
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
// 刷新权限生效

flush privileges;


//新修改权限方法
GRANT CREATE ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;





## docker安装redis
```java
sudo docker pull redis //安装的是最新版redis 
sudo docker pull redis:5.0

挂载

mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

启动redis容器

docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name redis -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -v /mydata/redis/data:/data -d redis redis-server /etc/redis/redis.conf   --appendonly yes  --requirepass 123456

安装完成 使用docker ps 检查
在这里插入图片描述
进入客户端测试
docker exec -it redis redis-cli

redis默认配置是没有持久化的,数据都存在内存中,如果重启redis,数据都将丢失。
解决办法:设置redis持久化:
命令:vim mydata/redis/conf/redis.conf
加入以下配置:
appendonly yes
requirepass 123456
重启redis就可以了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值