docker 安装各种组件操作

说明

docker安装各种组件步骤目前包含docker、mysql8、oracle19c、redis、elasticsearch、kibana、minio等安装步骤,持续待更新中...
本文安装所有组件均为单体组件、集群组件待更新...

1.安装docker

1.1卸载docker命令

sudo 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

1.2安装前置依赖

yum -y install gcc
yum -y install gcc-c++
sudo yum install -y yum-utils

1.3设置镜像仓库

sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.4安装docker社区版

# 4.安装docker docker-ce:社区版的,docker-ee:企业版的
sudo yum install -y docker-ce docker-ce-cli containerd.io

1.5启动docker服务

systemctl start docker

1.6查看docker版本

sudo docker version

1.7查看docker运行状态

systemctl status docker

1.8设置docker开机自启

systemctl enable docker.service

1.9重启docker服务

systemctl restart docker

1.10设置镜像加速配置

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://p0ogv17n.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

2.安装mysql8.0

2.1下载mysql镜像

docker pull mysql:8.0

2.2创建宿主机文件夹

#宿主机根目录下创建以下文件夹
mkdir -p /software/mysql8.0/log
mkdir -p /software/mysql8.0/mysql
mkdir -p /software/mysql8.0/conf

2.3修改宿主机mysql配置

vim /software/mysql8.0/conf/my.cnf

#添加以下内容
[client]
default_character_set=utf8mb4
[mysql]
default_character_set=utf8mb4
[mysqld]
character_set_server=utf8mb4
collation_server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

2.4启动mysql测试

docker run \
	--restart=always \
	--net=host \
	--privileged=true \
	-p 3306:3306 \
	--name mysql8.0 \
	-v /software/mysql8.0/log:/var/log/mysql \
	-v /software/mysql8.0/data:/var/lib/mysql \
	-v /software/mysql8.0/conf:/etc/mysql/conf.d \
	-e MYSQL_ROOT_PASSWORD=密码\
	-d mysql:8.0

解释:

–restart=always :docker启动会自动启动该容器

–privileged=true :赋予容器和宿主机几乎相同的权限

-p 3306:3306 :端口映射

–name mysql8.0 :容器名称

-v /software/mysql8.0/log:/var/log/mysql \ :宿主机目录挂载到容器内部的目录

-e MYSQL_ROOT_PASSWORD=密码 :启动时的环境变量,设置root密码为xxxxx

-d mysql:8.0 :容器后台运行

2.5创建mysql用户

-- 1.创建用户和密码
CREATE USER 'hyc'@'%' IDENTIFIED BY '密码';
-- 2.授予账户特定权限。ALL 和 ALL PRIVILEGES 是一样的,可简写为 ALL。
GRANT ALL ON *.* TO 'hyc'@'%' WITH GRANT OPTION;
-- 3.刷新权限
FLUSH PRIVILEGES;

权限:

ALTER: 允许使用 ALTER TABLE 语句。

ALTER ROUTINE: 允许更改和删除存储子程序。

CREATE: 允许创建数据库和表。

CREATE ROUTINE: 允许创建存储子程序。

CREATE TEMPORARY TABLES: 允许使用 CREATE TEMPORARY TABLE 语句。

CREATE USER: 允许使用 CREATE USER, DROP USER, RENAME USER, 和 REVOKE ALL PRIVILEGES 语句。

CREATE VIEW: 允许使用 CREATE VIEW 语句。

DELETE: 允许使用 DELETE 语句。

DROP: 允许使用 DROP TABLE 和 DROP DATABASE 语句。

EVENT: 允许创建、修改和删除事件。

EXECUTE: 允许执行存储子程序。

FILE: 允许使用 SELECT … INTO OUTFILE 和 LOAD DATA INFILE 语句。

INDEX: 允许使用 CREATE INDEX 和 DROP INDEX 语句。

INSERT: 允许使用 INSERT 语句。

LOCK TABLES: 允许使用 LOCK TABLES 语句。

PROCESS: 允许使用 SHOW FULL PROCESSLIST 语句。

REFERENCES: 未被当前版本的MySQL使用。

RELOAD: 允许使用 FLUSH 语句。

REPLICATION CLIENT: 允许查询二进制日志文件位置。

REPLICATION SLAVE: 允许复制从属服务器连接到主服务器。

SELECT: 允许使用 SELECT 语句。

SHOW DATABASES: 允许使用 SHOW DATABASES 语句。

SHOW VIEW: 允许使用 SHOW CREATE VIEW 语句。

SHUTDOWN: 允许使用 mysqladmin shutdown 命令。

SUPER: 允许使用 CHANGE MASTER, KILL, PURGE BINARY LOGS, 和 SET GLOBAL 语句,以及 mysqladmin debug 命令。当启用 binary logging 时,允许使用设置用户变量。

TRIGGER: 允许创建和删除触发器。

UPDATE: 允许使用 UPDATE 语句.

USAGE: “无权限”权限。

例如:

-- 假设我们要为用户 'hyc'@'%' 添加 SELECT, INSERT, 和 UPDATE 权限:
GRANT SELECT, INSERT, UPDATE ON *.* TO 'hyc'@'%';

/*
1.选择多个权限:
	使用逗号分隔多个权限。
2.指定数据库和表:
	*.* 表示所有数据库中的所有表。
	可以使用 database_name.* 来指定某个数据库中的所有表。
	可以使用 database_name.table_name 来指定某个数据库中的特定表。
3.指定用户和主机:
	'username'@'host' 格式用于指定用户和主机。
*/

3.安装oracle19c

3.1下载oracle19c镜像

docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c

3.2重命名oracle19c镜像名称

docker tag registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c oracle:19c

3.3创建挂载目录并设置权限

mkdir -p /software/oracle/data
chmod 777 /software/oracle/data

3.4启动oracle19c容器

docker run \
-p 1521:1521 -p 5500:5500 \
-e ORACLE_SID=ORCLCDB \
-e ORACLE_PDB=ORCLPDB \
-e ORACLE_PWD=密码 \
-e ORACLE_EDITION=standard \
-e ORACLE_CHARACTERSET=AL32UTF8 \
-v /software/oracle/data:/opt/oracle/oradata \
--name oracle19c \
-d oracle:19c

3.5plsql工具连接

工具连接

3.6创建用户设置权限

-- 创建表空间
CREATE TABLESPACE TS_YCH
    DATAFILE '/opt/oracle/oradata/ORCLCDB/TS_YCH.dbf' 
    SIZE 100M
    AUTOEXTEND ON
    NEXT 50M MAXSIZE UNLIMITED;
    
-- 创建用户
CREATE USER YCH IDENTIFIED BY 密码
    DEFAULT TABLESPACE TS_YCH
    TEMPORARY TABLESPACE temp;

-- 授予基本权限
GRANT CREATE SESSION, CREATE TABLE TO YCH;

-- 授予超级用户权限
GRANT SYSDBA TO YCH;

4.安装redis

4.1下载redis最新版镜像

docker pull redis

4.2创建挂载目录

#创建目录
mkdir -p /software/redis/config
mkdir -p /software/redis/data
#创建配置文件
vim /software/redis/config/redis.conf

#添加以下内容
bind 0.0.0.0
protected-mode yes
port 6379
requirepass 密码
dir /data
appendonly yes

#bind 0.0.0.0:允许所有 IP 访问 Redis 实例(仅在受信任的网络环境中使用)。
#protected-mode yes:开启保护模式。
#port 6379:Redis 默认端口。
#requirepass your_redis_password:设置 Redis 访问密码,请将 your_redis_password 替换为你自己的密码。
#dir /data:指定 Redis 数据目录。
#appendonly yes:开启 AOF 持久化。

4.3启动运行容器

docker run -d \
  --name redis \
  -p 6379:6379 \
  -v /software/redis/config/redis.conf:/usr/local/etc/redis/redis.conf \
  -v /software/redis/data:/data \
  redis:latest redis-server /usr/local/etc/redis/redis.conf

5.安装elasticsearch

5.1下载elasticsearch镜像

docker pull docker.elastic.co/elasticsearch/elasticsearch:8.14.1

5.2创建挂载目录

#1.新建挂载目录
mkdir -p /software/elasticsearch/config
mkdir -p /software/elasticsearch/data
mkdir -p /software/elasticsearch/logs

5.3编辑配置文件

#2.创建配置文件
vim /software/elasticsearch/config/elasticsearch.yml


#3.添加以下配置内容
cluster.name: "docker-cluster"
network.host: 0.0.0.0
#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
##
## The following settings, TLS certificates, and keys have been automatically      
## generated to configure Elasticsearch security features on 27-06-2024 01:35:31
##
## --------------------------------------------------------------------------------
#
## Enable security features
xpack.security.enabled: true
#
xpack.security.enrollment.enabled: true
#
## Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
  enabled: true
    keystore.path: certs/http.p12
#
#    # Enable encryption and mutual authentication between cluster nodes
#    xpack.security.transport.ssl:
#      enabled: true
#        verification_mode: certificate
#          keystore.path: certs/transport.p12
#            truststore.path: certs/transport.p12
#            #----------------------- END SECURITY AUTO CONFIGURATION -------------------------

5.4挂载目录授权

很重要

#4.赋值权限
chmod -R 777 /software/elasticsearch/data
chmod -R 777 /software/elasticsearch/config
chmod -R 777 /software/elasticsearch/logs

5.5启动elasticsearch镜像

docker run -d \
  --name elasticsearch \
  -p 9200:9200 \
  -p 9300:9300 \
  -e "discovery.type=single-node" \
  -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
  -e "ELASTIC_PASSWORD=密码" \
  -v /software/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
  -v /software/elasticsearch/data:/usr/share/elasticsearch/data \
  -v /software/elasticsearch/logs:/usr/share/elasticsearch/logs \
  docker.elastic.co/elasticsearch/elasticsearch:8.14.1

5.6验证es的启动状态

docker ps -a | grep elasticsearch

5.7浏览器查看elasticsearch信息

#默认用户密码:elastic/密码  密码是 -e "ELASTIC_PASSWORD=密码" 启动容器的环境变量设置
地址:http://ip:9200/

`成功信息`{
  "name": "aa1adc1e3e18",
  "cluster_name": "elasticsearch",
  "cluster_uuid": "4pTHHf-vSZiz-tieol60Iw",
  "version": {
    "number": "8.14.1",
    "build_flavor": "default",
    "build_type": "docker",
    "build_hash": "93a57a1a76f556d8aee6a90d1a95b06187501310",
    "build_date": "2024-06-10T23:35:17.114581191Z",
    "build_snapshot": false,
    "lucene_version": "9.10.0",
    "minimum_wire_compatibility_version": "7.17.0",
    "minimum_index_compatibility_version": "7.0.0"
  },
  "tagline": "You Know, for Search"
}

5.8创建角色、用户

#1.默认用户elastic不能用于连接kibana
#创建角色、角色授权
curl -X PUT "http://localhost:9200/_security/role/kibana-user"   -u elastic:密码 -H 'Content-Type: application/json' -d'
{
  "cluster": ["all"],
  "indices": [
    {
      "names": ["*"],
      "privileges": ["all"],
      "allow_restricted_indices": true
    }
  ],
  "applications": [
    {
      "application": "*",
      "privileges": ["*"],
      "resources": ["*"]
    }
  ],
  "run_as": ["*"],
  "metadata": {
    "reserved": true
  },
  "transient_metadata": {
    "enabled": true
  },
  "remote_indices": [
    {
      "names": ["*"],
      "privileges": ["all"],
      "allow_restricted_indices": true,
      "clusters": ["*"]
    }
  ]
}'

#创建用户
curl -X POST "http://localhost:9200/_security/user/kibana_user" \
     -H 'Content-Type: application/json' \
     -u elastic:密码 \
     -d '{
  "password" : "密码",
  "roles" : [ "kibana-user" ]
}'

6.安装kibana

6.1下载kibana镜像

注意kibana的版本与elasticsearch的版本需要一致

docker pull docker.elastic.co/kibana/kibana:8.14.1

6.2创建挂载目录

#1.创建文件夹
mkdir -p /software/kibana/config
#2.创建编辑配置文件
vim /software/kibana/config/kibana.yml
#3.将下面配置写入到配置文件中	(注意ip地址)
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.177.130:9200"]
server.shutdownTimeout: "5s"
monitoring.ui.container.elasticsearch.enabled: true
#该用户密码为创建es用户角色处
elasticsearch.username: "kibana_user"
elasticsearch.password: "密码"

6.3启动kibana容器

docker run -d \
  --name kibana \
  -v /software/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \
  -p 5601:5601 \
  docker.elastic.co/kibana/kibana:8.14.1

6.4启动浏览器查看结果

地址 :http://192.168.177:5601

使用 kibana配置中的账号密码登录

在这里插入图片描述

7.安装minio

7.1下载minio镜像

docker pull minio/minio

7.2创建挂载目录

mkdir -p /software/minio/data
mkdir -p /software/minio/config

#赋值权限
chmod -R 777 /software/minio/data
chmod -R 777 /software/minio/config

7.3启动容器

docker run -d \
--name minio \
-p 9000:9000 \
-p 9001:9001 \
--net=host \
--privileged=true \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=密码" \
-v /software/minio/data:/data \
-v /software/minio/config:/root/.minio \
minio/minio server \
--console-address ":9000" \
--address ":9001" /data

7.4测试地址

测试地址:http://192.168.177.130:9000

结果:minio

  • 30
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值