GVKun编程网logo

docker 安装 mysql/redis(docker 安装 mysql)

5

以上就是给各位分享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)

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

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,防火墙、安装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 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

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/redisdocker 安装 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等相关内容,可以在本站寻找。

本文标签: