以上就是给各位分享docker安装mysql/redis,其中也会对docker安装mysql进行解释,同时本文还将给你拓展02.docker安装mysql,redis,nacos、centos7.6
以上就是给各位分享docker 安装 mysql/redis,其中也会对docker 安装 mysql进行解释,同时本文还将给你拓展02.docker安装mysql,redis,nacos、centos 7.6 配置IP,防火墙、安装Docker、node、yarn 以及Docker安装mysql和redis、centos 安装docker mysql redis 及配置、centos7 安装 docker mysql redis etcd等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:- docker 安装 mysql/redis(docker 安装 mysql)
- 02.docker安装mysql,redis,nacos
- centos 7.6 配置IP,防火墙、安装Docker、node、yarn 以及Docker安装mysql和redis
- centos 安装docker mysql redis 及配置
- centos7 安装 docker mysql redis etcd
docker 安装 mysql/redis(docker 安装 mysql)
1. 安装 mysql 容器
#宿主机安装mysql
yum install mysql
#搜索mysql镜像
docker search mysql
#拉取mysql镜像
docker pull docker.io/mysql
#创建mysql容器,MYSQL_ROOT_PASSWORD=root设置root的密码为root
docker run --name=cgy_mysql -it -p 3306:3306 -v /opt/data/mysql/mysqld:/var/run/mysqld -v /opt/data/mysql/db:/var/lib/mysql -v /opt/data/mysql/conf:/etc/mysql/conf.d -v /opt/data/mysql/files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=root --privileged=true -d mysql
#出错报错,可能是宿主机/opt/data/mysql目录的权限问题
docker stop cgy_mysql
docker rm cgy_mysql
#查看/opt/data/mysql/db的用户和组,假设为systemd-bus-proxy:root
ls -a /opt/data/mysql/db
chown -R systemd-bus-proxy:root /opt/data/mysql
#重新创建mysql容器
docker run --name=cgy_mysql -it -p 3306:3306 -v /opt/data/mysql/mysqld:/var/run/mysqld -v /opt/data/mysql/db:/var/lib/mysql -v /opt/data/mysql/conf:/etc/mysql/conf.d -v /opt/data/mysql/files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=root --privileged=true -d mysql
#进入容器,修改root用户允许远程访问,进入容器命令:
docker exec -it 7681b85e73a1 /bin/sh
#登录容器中的mysql
mysql
#修改远程权限
alter user ''root''@''%'' identified with mysql_native_password by ''root'';
或者
alter user ''root''@''localhost'' identified with mysql_native_password by ''root'';
#修改root的host
update mysql.user set host = ''%'' where user = ''root'';
#允许远程连接
GRANT ALL PRIVILEGES ON *.* TO ''root''@''%''WITH GRANT OPTION;
FLUSH PRIVILEGES;
2. 安装 redis 容器
#拉取redis镜像
docker pull redis:latest
#创建redis容器
docker run -itd --name cgy_redis -p 6379:6379 redis:latest
#进入redis容器
docker exec -it cgy_redis /bin/bash
02.docker安装mysql,redis,nacos
安装好docker后,在docker上安装MysqL , redis,nacos
1. MysqL
下载镜像
docker pull MysqL:5.7
创建实例并启动
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
参数说明
-p 3306:3306 将容器的3306端口映射到主机的3306端口
-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 初始化root用户密码
查看运行中的容器
docker ps
配置MysqL
vi /mydata/MysqL/conf/my.cnf
[client]
default-character-set=utf8
[MysqL]
default-character-set=utf8
[MysqLId]
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
skie-name-resolve
docker restart MysqL
2. redis
docker pull redis
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.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
//redis持久化配置
vi redis.conf //编辑配置文件
appendonly yes
3. nacos
docker pull nacos/nacos-server
mkdir -p /root/nacos/init.d /root/nacos/logs
touch /root/nacos/init.d/custom.properties
management.endpoints.web.exposure.include=*
docker run -d -p 8848:8848
-e MODE=standalone -e PREFER_HOST_MODE=hostname
-v /root/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties
-v /root/nacos/logs:/home/nacos/logs --name nacos nacos/nacos-server
设置开机启动
docker update redis --restart=always
docker update MysqL --restart=always
docker update nacos --restart=always
centos 7.6 配置IP,防火墙、安装Docker、node、yarn 以及Docker安装mysql和redis
centos 7.6
ip addr
vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=34bbe4fa-f0b9-4ced-828a-f7f7e1094e4a
DEVICE=eno16777736
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPADDR=192.168.179.3
NETMASK=255.255.255.0
GATEWAY=192.168.179.2
-- -----------------------------------------------------
安装 wget
yum -y install wget
yum install lrzsz //使用shell上传下载方便
-- -----------------------------------------------------
禁用Selinux, 修改/etc/selinux/config 文件,将SELINUX=enforcing改为SELINUX=disabled,重启机器即可
-- -----------------------------------------------------
安装docker
首先备份yum 源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下载阿里云的yum源 根据系统版本安装
CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
再安装epel 的yum 源 根据系统版本安装
epel(RHEL 7)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
epel(RHEL 6)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
epel(RHEL 5)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-5.repo
然后生成缓存
yum clean all
yum makecache
先安装docker依赖
yum install lxc libcgroup device-mapper-event-libs
然后再安装docker
yum install docker-io
安装完成后查看docker版本
docker -v
将docker 开机自启
chkconfig docker on
service docker start
----------------------------------------------------------------------
防火墙
firewall-cmd --zone=public --list-ports //firewall-cmd --zone=public --query-port=3306/tcp
firewall-cmd --zone=public --add-port=3306/tcp --permanent //关闭 firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=3307/tcp --permanent
firewall-cmd --zone=public --add-port=3308/tcp --permanent
firewall-cmd --zone=public --add-port=3309/tcp --permanent
firewall-cmd --zone=public --add-port=3310/tcp --permanent
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload
----------------------------------------------------------------------
https://hub.docker.com/_/MysqL?tab=tags
docker pull MysqL:8.0
docker images
//docker run -it docker.io/MysqL:8.0 /bin/bash
docker run --name MysqL8 -p 3306:3306 -e MysqL_ROOT_PASSWORD=11111111 --privileged=true -d docker.io/MysqL:8.0
docker update --restart=always MysqL8
docker exec -it MysqL8 /bin/bash
MysqL -u root -p
use MysqL;
ALTER USER 'root'@'localhost' IDENTIFIED WITH MysqL_native_password BY '11111111';
ALTER USER 'root'@'%' IDENTIFIED WITH MysqL_native_password BY '11111111';
flush privileges;
docker restart MysqL8
----------------------------------------------------------------------
docker pull redis:5.0
docker run --name redis5 -p 6379:6379 -d --restart=always redis:5.0 redis-server --appendonly yes --requirepass "11111111"
----------------------------------------------------------------------
wget https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz
tar -xvf node-v12.16.1-linux-x64.tar.xz
mkdir /usr/local/nodejs12
mv node-v12.16.1-linux-x64/* /usr/local/nodejs12
ln -s /usr/local/nodejs12/bin/npm /usr/local/bin/
ln -s /usr/local/nodejs12/bin/node /usr/local/bin/
node-v
----------------------------------------------------------------------
安装 yarn
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install yarn
yarn global add pm2
//curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
----------------------------------------------------------------------
yum -y install httpd*
rpm -qa | grep httpd
/etc/httpd/conf/httpd.conf # 主配置文件
/var/www/html # 默认网站家目录
vi /etc/httpd/conf/httpd.conf
安装MysqL
wget https://cdn.MysqL.com//Downloads/mysql-8.0/mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
tar -vxf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
mkdir /usr/local/MysqL8
mv mysql-8.0.19-linux-glibc2.12-x86_64/* /usr/local/MysqL8
cd /usr/local/MysqL8
//添加 MysqL 组
groupadd MysqL
//添加 MysqL 用户
useradd -r -g MysqL MysqL
//检查是否安装了 libaio
rpm -qa | grep libaio
//若没有则安装
//版本检查
yum search libaio
//安装
yum -y install libaio
cd /usr/local/MysqL8
centos 安装docker mysql redis 及配置
centos环境
一.安装docker
1.设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
2.安装需要的软件
yum install -y yum-utils device-mapper-persistent-data lvm2
3.查看docker版本号及安装
yum list docker-ce --showduplicates | sort -r
yum install docker-ce-18.03.1.ce
4.启动docker 并加入开机自启
systemctl start docker
systemctl enable docker
二.docker下安装mysql8
1.查询mysql镜像
docker search mysql
2.安装mysql,默认安装最新版本,需要指定版本号 docker pull mysql:版本号
docker pull mysql
3.创建挂载目录
mkdir -p /data/docker/mysql/data /data/docker/mysql/logs /data/docker/mysql/conf
4.创建配置文件
cd /data/docker/mysql/conf
vim my.conf
5.配置文件
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Custom config should go here
# 不区分大小写配置
lower_case_table_names=1
# 解决远程连接慢
skip-name-resolve
6.启动容器
docker run \
-d -p 3306:3306 \
--name mysql8 \
-v /data/docker/mysql/conf:/etc/mysql/conf.d \
-v /data/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
--privileged=true \
--restart=always \
mysql
7.登录mysql 并创建用户远程访问及授权
docker exec -it mysql8 bash
mysql -u root -p
CREATE USER ''name''@''%'' IDENTIFIED WITH mysql_native_password BY ''xxxx'';
GRANT ALL PRIVILEGES ON *.* TO ''新用户名''@''%'';
flush privileges;
8.退出容器
ctrl+p+q
三.安装redis
redis 直接安装到服务器了,没有放在docker中
1.下载redis
cd /usr/local
wget http://download.redis.io/releases/redis-6.0.7.tar.gz
2.安装gcc
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
3.编译
tar -zxvf redis-6.0.7.tar.gz
cd redis-6.0.7
make
make install
4.配置
vim redis.conf
bind 0.0.0.0
daemonize yes
tcp-keepalive 20
5.设置启动
cd /etc
mkdir redis
cp /usr/local/redis-6.0.7/redis.conf /etc/redis/6379.conf
cp /usr/local/redis-6.0.7/utils/redis_init_script /etc/init.d/redis
cd /etc/init.d
chkconfig redis on
service redis start
centos7 安装 docker mysql redis etcd
docker
1. gcc
yum -y install gcc
yum -y install gcc-c++
2. 卸载旧版本(若有)
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
3. 安装软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
4. 设置stable镜像仓库 阿里云镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5. 更新yum软件包索引
yum makecache fast
6. 安装Docker-ce
yum install -y docker-ce docker-ce-cli containerd.io
7. 启动Docker
systemctl start docker
docker version
8. 设置阿里云镜像加速
mkdir -p /etc/docker
vim /etc/docker/daemon.json
# 复制以下内容保存
{
"registry-mirrors": ["https://6s5e9vi3.mirror.aliyuncs.com"]
}
9. 重启
systemctl daemon-reload
systemctl restart docker
10. 卸载(若需要)
# systemctl stop docker
# yum -y remove docker-ce
# rm -rf /var/lib/docker
MySQL
1. 下载仓库
cd ~
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
2. 安装MySQL服务器,安装完成后就会覆盖掉之前的mariadb
yum -y install mysql-community-server
3. MySQL数据库设置
# 启动
systemctl start mysqld.service
# 查看运行状态
systemctl status mysqld.service
# 从日志查密码
grep "password" /var/log/mysqld.log
# 进数据库shell
mysql -uroot -p
复制进刚才的密码
# 改成新的密码 注意要符合安全规范 必须要大小写字母数字和特殊符号(,/'';:等)
ALTER USER ''root''@''localhost'' IDENTIFIED BY ''新密码'';
4. 开启mysql的远程访问
执行以下命令开启远程访问限制(注意:下面命令开启的IP是 192.168.0.1,如要开启所有的,用%代替IP):
grant all privileges on *.* to ''root''@''192.168.0.1'' identified by ''数据库密码'' with grant option;
# 刷新规则
flush privileges;
# 推出
exit
5. 云服务器注意给需要访问的IP开放默认的数据库端口3306
Redis
cd ~
wget http://download.redis.io/releases/redis-6.2.5.tar.gz
tar -zxvf redis-6.2.5.tar.gz
cd redis-6.2.5
# 编译
make
# 安装并指定安装目录
make install PREFIX=/usr/local/redis
# 前台启动测试
cd /usr/local/redis/bin/
./redis-server
# 从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录 查找 find / -name redis.conf
cp /root/redis-6.2.5/redis.conf /usr/local/redis/bin/
vim redis.conf
把 daemonize no 改为 daemonize yes
将bind改成bind 0.0.0.0
./redis-server redis.conf
# 设置开机启动
vim /etc/systemd/system/redis.service
粘贴下面内容
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
设置开机启动
systemctl daemon-reload
systemctl start redis.service
systemctl enable redis.service
创建 redis 命令软链接
ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis
测试 redis
redis
服务操作命令
systemctl start redis.service #启动redis服务
systemctl stop redis.service #停止redis服务
systemctl restart redis.service #重新启动服务
systemctl status redis.service #查看服务当前状态
systemctl enable redis.service #设置开机自启动
systemctl disable redis.service #停止开机自启动
单机etcd
下载安装
# 找下最新发行版
https://github.com/etcd-io/etcd/releases
# 官方最新发行版本
v3.5.4
# 删除之前的(若有)
rm -f /tmp/etcd-v3.5.4-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /usr/local/etcd
curl -L https://storage.googleapis.com/etcd/v3.5.4/etcd-v3.5.4-linux-amd64.tar.gz -o /tmp/etcd-v3.5.4-linux-amd64.tar.gz
tar xzvf /tmp/etcd-v3.5.4-linux-amd64.tar.gz -C /usr/local/etcd --strip-components=1
cp /usr/local/etcd/etcd /usr/bin/
cp /usr/local/etcd/etcdctl /usr/bin/
添加配置文件个工作目录
mkdir -p /etc/etcd/
mkdir -p /var/lib/etcd/data
mkdir -p /var/lib/etcd/wal
chown -R 700 /var/lib/etcd/data
添加用户组 用户
sudo groupadd --system etcd
sudo useradd -s /sbin/nologin --system -g etcd etcd
sudo chown -R etcd:etcd /var/lib/etcd/
添加配置文件
# 模板地址 下载后修改
https://github.com/etcd-io/etcd/blob/main/etcd.conf.yml.sample
# 覆盖这个位置的配置文件
vim /etc/etcd/etcd.conf.yml
# 修改路径
data-dir: /var/lib/etcd/data
wal-dir: /var/lib/etcd/wal
# 按照实际情况修改
listen-peer-urls
listen-client-urls 只改了这一条 客户端监听地址我修改成了 http://0.0.0.0:2379
initial-advertise-peer-urls
advertise-client-urls
增加到系统服务
vim /etc/systemd/system/etcd.service
[Unit]
Description=etcd service
Documentation=https://github.com/coreos/etcd
After=network.target
[Service]
User=etcd
Type=notify
ExecStart=/usr/bin/etcd --config-file=/etc/etcd/etcd.conf.yml
Restart=on-failure
RestartSec=10s
LimitNOFILE=40000
[Install]
WantedBy=multi-user.target
执行命令
systemctl daemon-reload
systemctl start etcd
systemctl status etcd
可以用测试语句,直接运行查看报错信息:
/usr/bin/etcd --config-file=/etc/etcd/etcd.conf.yml
排错
netstat -lnp|grep 2379
# 如果报错查看错误日志
journalctl -xe --no-pager
journalctl -xe --no-pager -u etcd
systemctl cat --no-pager etcd
关于docker 安装 mysql/redis和docker 安装 mysql的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于02.docker安装mysql,redis,nacos、centos 7.6 配置IP,防火墙、安装Docker、node、yarn 以及Docker安装mysql和redis、centos 安装docker mysql redis 及配置、centos7 安装 docker mysql redis etcd等相关内容,可以在本站寻找。
本文标签: