docker及常用组件安装

提示:文章如有错误的地方请指出,以免误人子弟!


提示:以下是本篇文章正文内容,下面案例可供参考

contos7

  • CentOS 7 快速开放端口
#开启端口:
[root@centos7 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent

#查询端口号80 是否开启:

[root@centos7 ~]# firewall-cmd --query-port=80/tcp

#重启防火墙:

[root@centos7 ~]# firewall-cmd --reload

#查询有哪些端口是开启的:

[root@centos7 ~]# firewall-cmd --list-port

#命令含义:

--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效

#关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

docker安装

docker 官网地址
在这里插入图片描述

  1. 环境查看
[root@localdomain /]# uname -r
3.10.0-1160.el7.x86_64
  1. 卸载旧的docker版本
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  1. 需要的安装包
yum install -y yum-utils
  1. 设置镜像的仓库(这里是阿里云的镜像地址)
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 安装自选或最新的docker版本
# 更新yum软件包索引
yum makecache fast

# 1.列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序。
yum list docker-ce --showduplicates | sort -r

# 2.通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

yum install docker-ce-17.12.0.ce-1.el7.centos

# 安装最新版docker  docker-ce:社区版 ee:企业版
yum install docker-ce docker-ce-cli containerd.io

# 启动docker
systemctl start docker
# 查看docker 版本
docker version

# 卸载docker
yum remove docker-ce

# 删除镜像、容器、配置文件等内容
rm -rf /var/lib/docker

mysql 安装

# 搜索mysql版本
docker search mysql

# 安装 最新版
docker pull mysql:latest

# 先在home目录下建mysql文件夹,建conf.d,data文件夹
mkdir home/mysql/conf.d
mkdir home/mysql/data

# 启动并进行数据卷挂载数据
docker run -d -p 3306:3306 -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=wh0209 --name mysql mysql

redis 安装

# 搜索redis 版本
docker search redis

# 安装 最新版
docker pull redis:latest

# 先在home目录下建redis文件夹,建conf和redis.conf文件,data文件夹
mkdir home/redis/conf/
# 放入修改好的 redis.conf 文件,因为docker redis容器中没有redis.conf配置文件

mkdir home/redis/data

# 启动并进行数据卷挂载数据
docker run -p 6379:6379 --name redis -v /home/redis/conf/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

redis 配置文件下载

  • redis 配置文件修改
  1. docker redis以守护进程方式必须是no
    daemonize=NO。非后台模式,如果为YES 会的导致 redis 无法启动,因为后台会导致docker无任务可做而退出。
    在这里插入图片描述
  2. 日志级别
    在这里插入图片描述
  3. 持久化 , 在规定时间内,执行了多少次,则会持久化到 .rdb .aof文件内
    在这里插入图片描述
# redis 是内存数据库,如果没有持久化,那么数据就会断电及失!
# 如果在900秒内,如果至少有1个key进行了修改,我们就进行持久化操作
 save 900 1
# 如果在300秒内,如果至少有10个key进行了修改,我们就进行持久化操作
 save 300 100
# 如果在60秒内,如果至少有10000个key进行了修改,我们就进行持久化操作
 save 60 10000
# 可以自定义 自己的持久化策略

stop-writes-on-bgsave-error yes # 持久化出错,是否还继续工作
rdbcompression yes  # 是否压缩rdb文件

在这里插入图片描述

rdbchecksum yes #保存rdb文件的时候是否进行错误校验检查

dir ./  #rdb 文件的保存路径

在这里插入图片描述

 requirepass wh0209 # 设置redis的密码

在这里插入图片描述


nacos安装

# 搜索nacos版本
docker search nacos

# 安装 最新版
docker pull nacos/nacos-server

# 先在home目录下建mysql文件夹,建conf.d,data文件夹
mkdir home/nacos/logs

# 启动并进行数据卷挂载数据
docker run -d \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.96.135 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=wh0209 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SLAVE_SERVICE_HOST=192.168.96.135 \
-e MYSQL_SLAVE_SERVICE_PORT=3306 \
-e TIME_ZONE='Asia/Shanghai' \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-v /home/nacos/logs:/home/nacos/logs \
-p 8848:8848 \
--name nacos \
nacos/nacos-server:1.4.1

docker run -d  --name nacoss -p 8848:8848 --env MODE=standalone --env NACOS_SERVER_IP=192.168.96.1 nacos/nacos-server

#*集群版部署*
#同样准备3台服务器;分别执行如下命令;注意NACOS_SERVER_IP 参数需要修改为各个服务器自己的IP地址

docker run -d --name nacos-cluster -p 8848:8848 \
  --env NACOS_SERVERS=192.168.56.102,192.168.56.104,192.168.56.105 \
  --env NACOS_SERVER_IP=192.168.56.102 \
  --env SPRING_DATASOURCE_PLATFORM=mysql \
  --env MYSQL_SERVICE_HOST=192.168.56.103 \
  --env MYSQL_SERVICE_DB_NAME=nacos \
  --env MYSQL_SERVICE_USER=root \
  --env MYSQL_SERVICE_PASSWORD=123456 \
  --env MYSQL_DATABASE_NUM=1 \
  nacos/nacos-server
#参数说明:

#NACOS_SERVERS : 集群节点信息
#NACOS_SERVER_IP : 服务IP,多网卡模式下建议指定
#SPRING_DATASOURCE_PLATFORM : 使用数据库类型
#MYSQL_SERVICE_HOST : MySQL数据库地址
#MYSQL_SERVICE_DB_NAME : 数据库名称
#MYSQL_SERVICE_DB_NAME : 数据库用户名
#MYSQL_SERVICE_PASSWORD : 数据库密码
#MYSQL_DATABASE_NUM : 数据库数量,默认就是1,可以不填写
#至此集群就搭建完成了。可以通过docker日志命令查询nacos的日志信息(docker logs -ft --tail 200 nacos-cluster )。

#--restart=always \  开机启动

# 访问路径
http://192.168.96.135:8848/nacos/#/login

命令详情参见 Nacos 官网

nacos 数据库sql


sentinel安装

# 搜索sentinel版本
docker search sentinel

# 安装 最新版
docker pull bladex/sentinel-dashboard:latest

# 启动并进行数据卷挂载数据
docker run -p 8858:8858 -d --name sentinel bladex/sentinel-dashboard

#访问路径
http://192.168.96.135:8858/#/login

nginx 安装

# 搜索nginx版本
docker search nginx

# 安装 最新版
docker pull nginx:latest

# 先在home目录下建mysql文件夹,建conf.d,data文件夹
mkdir home/nginx/logs
mkdir home/nginx/conf.d  touch default.conf
mkdir home/nginx/image
mkdir home/nginx/audio
mkdir home/nginx/video
mkdir home/nginx/html

# 启动并进行数据卷挂载数据
docker run --name nginx -d -p 80:80 -v /home/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /home/nginx/html:/etc/nginx/html -v /home/nginx/logs:/var/log/nginx -v /home/nginx/audio:/etc/nginx/audio -v /home/nginx/video:/etc/nginx/video -v /home/nginx/image:/etc/nginx/image nginx
  • nginx.default.conf 文件:
server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}
  • 静态资源代理
# 通用配置 (配置如下)
location / {
	root # 静态资源路径
	index # 默认访问路径下的什么资源
	autoindex on; # 代表展示静态资源下的全部内容,以列表的形式
}

# 图片
location /image {
	root /etc/nginx; #容器内图片路径,nginx后面的/image会自动拼接,如果/image后面还有文件夹,图片请求路径得带着/文件夹名称
	autoindex on;
}

kafka安装

  1. consumer 安装
# 安装
docker pull wurstmeister/zookeeper
# 启动
docker run -d --name zookeeper --publish 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper
  1. kafka安装
# 安装
docker pull wurstmeister/kafka
# 启动
# 配置zookeeper管理kafka的路径10.9.44.11:2181/kafka
# 把kafka的地址端口注册给zookeeper
#
docker run -d --name kafka --publish 9092:9092 \
--link zookeeper \
--env KAFKA_ZOOKEEPER_CONNECT=192.168.96.135:2181 \
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.96.135:9092 \
--env KAFKA_ADVERTISED_HOST_NAME=192.168.96.135 \
--env KAFKA_ADVERTISED_PORT=9092  \
-v /etc/localtime:/etc/localtime \
wurstmeister/kafka

希望对你有所帮助!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值