centOS7+docker20.10.7+Mysql8.0.25+clickHouse

1.安装centOS7

http://mirror.bit.edu.cn/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso

  • 安装CentOS7

https://blog.csdn.net/babyxue/article/details/80970526

  • 开启ssh服务 为了使用远程连接工具例如xshell、SecureFX 8.1、SecureCRT 8.1
①.查看是否有SSH安装 
注:若为非root用户登录,输入执行某些命权限不够时需加sudo
	rpm -qa | grep ssh

在这里插入图片描述

②.若没有则安装
	yum install openssh-server
③.开放22端口
在ssh配置文件里进行配置 : 
vim /etc/ssh/sshd_config

在这里插入图片描述

用esc+:wq 保存退出
③.开启ssh服务
	/bin/systemctl start sshd.service 
④.检查ssh服务是否开启
	ps -e | grep sshd 

在这里插入图片描述

⑤.检查22端口是否开启
	netstat -anpt | grep 22
	注意:若提示没有netstat 命令则 使用:yum install net-tools 进行安装	

参考文章:https://blog.csdn.net/ASN_forever/article/details/80931799
在这里插入图片描述

  • 设置ssh开启自启动
systemctl enable sshd.service
或chkconfig sshd on
  • 关闭防火墙(为了使用远程工具连接)
查看防火墙状态
firewall-cmd --state
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service 

参考:https://blog.csdn.net/ytangdigl/article/details/79796961

  • 关闭selinux (为了使用远程工具连接)
进入到/etc/selinux/config文件
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
  • 使用SecureCRT 远程连接(待完成)

参考:
https://blog.csdn.net/u011781521/article/details/53846536
https://blog.csdn.net/qq_38880651/article/details/82460600
https://blog.csdn.net/heshengfu1211/article/details/87828523

2.安装docker

Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

  • 通过 uname -r 命令查看你当前的内核版本
uname -r
  • 使用 root 权限登录 Centos。确保 yum 包更新到最新。
 sudo yum update
  • [可选]卸载旧版本(如果安装过旧版本的话)
# 查看是否安装docker
docker vesion
#删除 
sudo yum remove docker  docker-common docker-selinux docker-engine
  • 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
 sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  • 设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
  • 安装docker
sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是
最新稳定版20.10.7-3.e17 或指定安装版本:sudo yum install <FQPN>  
# 例如:sudo yum install docker-ce-20.10.7-3.e17
(格式:第一行的docker-ce 加 - 加第二行从冒号开始至结尾)

在这里插入图片描述

  • 启动并加入开机启动
sudo systemctl start docker   #启动
sudo systemctl enable docker  #开机启动
  • 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
 docker version

参考:https://blog.csdn.net/lu1171901273/article/details/94217503

3.安装mysql

  • 搜索docker镜像中的mysql(可以看到搜索的结果,这个结果是按照一定的星级评价规则排序的)
docker search mysql
docker pull mysql:8.0.25
  • docker容器运行mysql实例
 docker run -d --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:8.0.25
参数说明:
-d 表示容器在后台运行
-p 3306:3306:将容器的3306端口映射到主机的3306端口;
-e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码;
--name 给容器命名,mysql8 
注意事项:-d 后面是mysql镜像,一定要指定镜像版本号,也就是拉取的镜像版本
  • 【可选】如果还是不能连接,是局域网的问题,可以直接进入实例操作
grant all privileges on *.* to root@"%" identified by "root" with grant option;
  • 进入mysql 容器实例
docker exec -it mysql8 /bin/bash
  • 登录mysql验证是否安装成功
mysql -u root -p
  • 开启mysql远程访问权限
命令:use mysql;

命令:select host,user from user;

命令:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

命令:flush privileges;
  • 挂载外部配置和数据安装(容器可以共享宿主主机的东西)

  • 创建目录和配置文件my.cnf

创建外部挂载目录
mkdir /docker
mkdir /docker/mysql
mkdir /docker/mysql/conf
mkdir /docker/mysql/data
 
创建my.cnf配置文件
touch /docker/mysql/conf/my.cnf
 
my.cnf添加如下内容:
[mysqld]
# 设置3306端口
port=3306
# 设置mysql数据库的数据的存放目录
datadir=/docker/mysql/data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=20
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

  • 创建容器,并后台启动
①.由于刚刚安装的mysql并运行登录,我们只是用来验证成功,还没挂载。
但我这里使用的是同一个容器,已经存在了。所以要先将存在的容器停止并删除。

查看所有容器,包括停止的:
docker ps -a
将容器退出:
docker stop [NAME]/[CONTAINER ID] 例如:docker stop se34fds50fsf
不能够删除一个正在运行的容器,会报错。需要先停止容器:
docker rm [NAME]/[CONTAINER ID] 例如:docker rm  se34fds50fsf
②.创建容器,并后台启动(这个是使用挂载外部文件的容器)
docker run -d -p 3306:3306 --privileged=true  -v /docker/mysql/conf:/etc/mysql/conf.d  -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root  --name mysql8 mysql:8.0.25
  
  参数说明:
--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限
-v /docker/mysql/conf/my.cnf:/etc/my.cnf:将主机/docker/mysql/conf/my.cnf文件挂载到容器的/etc/my.cnf的文件
-v /docker/mysql/data:/var/lib/mysql:将主机/docker/mysql/data目录挂载到容器的/var/lib/mysql目录
注:/etc/mysql/conf.d目录为mysql8默认配置文件读取目录,/var/lib/mysql为mysql数据 默认存在目录

4.安装clickHouse

  • 下载docker clickhouse包
# clickhouse 客户端(可选安装)
sudo docker pull yandex/clickhouse-client
#clickhouse 服务器端
sudo docker pull yandex/clickhouse-server
  • docker运行clickhouse 实例
docker run -d --name ck-server -p 8123:8123 -p 9000:9000 -p 9009:9009 yandex/clickhouse-server:latest

参数说明:
ck默认启动的三个端口:
9000端口,用于接受客户端请求
9009端口,用于集群复制数据
8123端口,http请求端口
  • 进入clickhouse容器
docker exec -it ck-server /bin/bash
  • 客户端连接
clickhouse-client -h 127.0.0.1 -d default -m -u default --password

参数说明:
--host, -h -– 服务端的host名称, 默认是localhost。您可以选择使用host名称或者IPv4或IPv6地址。
--port – 连接的端口,默认值:9000。注意HTTP接口以及TCP原生接口使用的是不同端口。
--user, -u – 用户名。 默认值:default。
--password – 密码。 默认值:空字符串。

参数参考官网:
https://clickhouse.tech/docs/zh/interfaces/cli/#command-line-options
在这里插入图片描述- 查看所有的数据库

show databases 
  • clickhouse的目录结构
clickhouse的目录结构

1./etc/clickhouse-server:
服务端的配置文件目录,包括全局配置 config.xml 和用户配置 users.xml

2./var/lib/clickhouse:
默认的数据存储目录,如果是生产环境可以将其修改到空间较大的磁盘挂载路径。
可以通过修改/etc/clickhouse-server/config.xml 配置文件中 
<tmp_path> 和<user_files_path> 标签值来设置。

3./var/log/clickhouse-server:
默认的日志保存目录。
同样可以通过修改/etc/clickhouse-server/config.xml 配置文件中
<tmp_path> 和<user_files_path> 标签值来设置。

4./etc/cron.d/clickhouse-server:
clickhouse server 的一个定时配置,用于恢复因异常中断的ClickHouse 服务进程。

5.~/.clickhouse-client-history (隐藏文件) 所有通过交互式命令行执行的sql历史记录。
可使用 ll -a  ~ 命令查看

  • 设置clickhouse 远程访问
    回到宿主主机中,将clickhouse 容器中的配置文件拷贝到宿主主机指定的目录中
# 将ck-server容器中的/etc/clickhouse-server/下的config.xml和user.xml复制到宿主主机的/docker/clickHouse/clickhouse-server/下
docker cp ck-server:/etc/clickhouse-server/config.xml /docker/clickHouse/clickhouse-server/
docker cp ck-server:/etc/clickhouse-server/users.xml /docker/clickHouse/clickhouse-server/
  • 配置容器映射的本地ip地址
    到/docker/clickHouse/clickhouse-server/下找到config.xml文件并去掉
    <listen_host>::</listen_host>的注释
    在这里插入图片描述

  • 新增用户名和密码
    复制/docker/clickHouse/clickhouse-server/clickhouse-server/users.xml文件下< users >标签下的< default >开始到结尾的内容,生成自己的用户名。
    在这里插入图片描述
    参考文章:https://segmentfault.com/a/1190000021512811

  • 创建容器,并后台启动(与mysql 类似)

docker run -d --name ck-server -p 8123:8123 -p 9000:9000 -p 9009:9009 -v /docker/clickHouse/clickhouse-server/clickhouse-server/config.xml:/etc/clickhouse-server/config.xml -v /docker/clickHouse/clickhouse-server/clickhouse-server/users.xml:/etc/clickhouse-server/users.xml   yandex/clickhouse-server:latest
  • 进入容器
docker exec -it ck-server /bin/bash
clickhouse-client -h 127.0.0.1 -d default -m -u root --password 

参考文章:https://www.cnblogs.com/hzcya1995/p/13295888.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 CentOS 7 上安装 Docker 20.10.6,你需要先确保系统已经更新到最新版本,并安装一些必要的依赖。由于 CentOS 7 已于 2021 年停止维护,官方不再提供新的长期支持版本,但社区仍然提供了 Docker 的兼容包。下面是安装步骤: 1. **安装依赖**: 首先,确保你的系统已经安装了 `epel` (Extra Packages for Enterprise Linux) 利用 yum 来获取额外软件包。如果尚未安装,请运行: ```bash sudo yum install epel-y ``` 2. **安装 DNF(Dandified Yum)**: CentOS 7 使用的是 YUM,但有些新软件包可能通过 DNF 更好管理。如果你没有安装,可以这样操作: ```bash sudo yum install dnf-plugins-core -y sed -i 's/^#?enabled=1/enabled=1/' /etc/dnf/dnf.conf ``` 3. **安装 Docker**: 更新yum源后,你可以从 Docker 官方仓库下载并安装 Docker: ```bash sudo dnf install docker-ce docker-ce-cli containerd.io -y ``` 运行这一步可能会提示你添加 Docker GPG 密钥,按提示操作即可。 4. **启动和启用 Docker**: 安装完成后,启动 Docker 并设置为开机自启: ```bash sudo systemctl start docker sudo systemctl enable docker ``` 5. **验证 Docker 是否安装成功**: 最后,检查 Docker 是否正常安装,可以执行: ```bash sudo docker run hello-world ``` 如果能看到 "Hello from Docker!",则表示 Docker 安装成功。 注意:由于 CentOS 7 的生命周期已结束,可能存在不稳定性和安全性风险。建议尽可能升级到 CentOS Stream 或者使用更现代的 Linux 发行版来获得更好的支持和服务。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值