• Docker安装教程


    1. 安装yum

    你的虚拟机需要联网以及yum哦~~

    yum -y install docker-ce

    1.1 NO package docker-ce available

    在执行以上命令时出现以下错误。

    1. NO package docker-ce available.
    2. Error: Nothing to do

    解决方法:

    (1) 更新yum,使用yum -y upgrade(耗时较久哦~)

    (2) 安装yum-utils,yum install -y yum-utils

    (3) 配置docker的阿里镜像,yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    (4) 安装缓存,yum makecache fast

    (5) 重新安装docker-ce,yum -y install docker-ce

    2. 启动docker

    查询时,有博主建议启动docker时,提前关闭防火墙,本次先不关闭有需求时执行以下命令即可。

    1. # 查询当前防火墙状态
    2. systemctl status firewalld
    3. # 关闭
    4. systemctl stop firewalld
    5. # 禁止开机启动防火墙
    6. systemctl disable firewalld

    docker操作命令

    1. systemctl start docker # 启动docker服务
    2. systemctl stop docker # 停止docker服务
    3. systemctl restart docker # 重启docker服务
    4. docker images # 查看docker是否启动(或者输入docke然后tab看是否能够补齐~)
    5. docker -v # 查看docker版本

    2.1 关闭问题

    这里需要注意一点儿就是我在关闭docker时发出了以下警告:

    Warning: Stopping docker.servier, but it can still be activated by: docker.socket

    docker分为以下几个部分:

    1. docker客户端。

    我们在shell中运行docker ps,docker image,其实调用的是docker客户端程序。一般存在于/usr/bin下,名字叫就做docker.

    1. docker守护

    存在于/usr/bin下,名字叫dockerd。我们讲的docker服务,实质上更多的就是这个dockerd服务。

    1. docket.socket

    用来实现docker和dockerd之间API通讯,配置存在于/lib/systemd/system/docker.socket中

    个人理解就是docket.socket作为一个服务端,当客户端将指令发送给dockerd(默认通过/var/run/docker.sock这个socket)。

    因此需要完全关闭docker需要以下两个命令

    1. systemctl stop docker
    2. systemctl stop docker.socket

    3. docker配置镜像(提升速度)

    我这里是配置的腾讯的镜像,首先打开daemon.json文件

    1. cd /etc/docker
    2. # 当该路径下没有daemon.json文件时便创建一个
    3. # touch daemon.json
    4. vim daemon.json
    5. # 然后添加该内容
    6. {"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]}  
    7. # 重启docker
    8. systemctl restart docker
    9. # 验证是否配置成功(执行以下命令找到Registry Mirrors便可以看到配置的镜像了)
    10. docker info

    4.安装elasticsearch以及kibana

    (1) 首先创建一个网络,使得kibana能连接elasticsearch

    docker network create es-net

    (2) docker安装es以及kibana

    1. docker pull elasticsearch:7.12.1
    2. docker pull kibana:7.12.1

    (3) 查询是否成功拉去镜像

    docker images

    便可以看到拉取的镜像啦~

    (4) 运行es

    1. docker run
    2. --name es240331
    3. -e "discovery.type=single-node"
    4. -v es-data:/usr/local/elasticsearch7.12.1/data
    5. -v es-plugins:/usr/local/elasticsearch7.12.1/plugins
    6. -v es-logs:/usr/local/elasticsearch7.12.1/logs
    7. --privileged
    8. --network es-net
    9. -p 9200:9200
    10. -p 9300:9300
    11. elasticsearch:7.12.1
    docker run --name es240331 -e "discovery.type=single-node" -v es-data:/usr/local/elasticsearch7.12.1/data -v es-plugins:/usr/local/elasticsearch7.12.1/plugins -v es-logs:/usr/local/elasticsearch7.12.1/logs --privileged --network es-net -p 9200:9200 -p 9300:9300 elasticsearch:7.12.1

    命令解释:

    • -e "cluster.name=es-docker-cluster":设置集群名称

    • -e "http.host=0.0.0.0":监听的地址,可以外网访问

    • -e "ES_JAVA_OPTS=-Xms512m -Xmx512m":分配内存大小

    • -e "discovery.type=single-node":单节点模式

    • -v es-data:/usr/local/elasticsearch7.12.1/data:挂载逻辑卷,绑定es的数据目录

    • -v es-logs:/usr/local/elasticsearch7.12.1/logs:挂载逻辑卷,绑定es的日志目录

    • -v es-plugins:/usr/local/elasticsearch7.12.1/plugins:挂载逻辑卷,绑定es的插件目录

    • --privileged:授予逻辑卷访问权

    • --network es-net :加入一个名为es-net的网络中

    • -p 9200:9200:端口映射配置

    (5) 开放端口防火墙

    1. # 开放9200端口用于http通信
    2. firewall-cmd --zone=public --add-port=9200/tcp --permanent
    3. # 开放9300端口用于ES集群间通信
    4. firewall-cmd --zone=public --add-port=9300/tcp --permanent
    5. # 重新加载防火墙使开放的端口即时生效
    6. firewall-cmd --reload
    7. # 查看开放的公共端口列表
    8. firewall-cmd --zone=public --list-ports

    查看当前虚拟机ip

    1. ipconfig
    2. # 当没有ipconfig命令时,安装net-tools
    3. yum install net-tools

    然后在windows中访问即可看到以下界面:

    image-20240331174245257

    (6) 启动kibana

    1. docker run -d \
    2. --name kibana \
    3. -e ELASTICSEARCH_HOSTS=http://es:9200 \
    4. --network=es-net \
    5. -p 5601:5601 \
    6. kibana:7.12.1
    docker run --name kibana240331 -e ELASTICSEARCH_HOSTS=http://es240331:9200 --network=es-net -p 5601:5601  kibana:7.12.1

    命令解释:

    • --network es-net :加入一个名为es-net的网络中,与elasticsearch在同一个网络中

    • -e ELASTICSEARCH_HOSTS=http://es240331:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch

    • -p 5601:5601:端口映射配置,

    • 命令解释:

    • --network es-net :加入一个名为es-net的网络中,与elasticsearch在同一个网络中

    • -e ELASTICSEARCH_HOSTS=http://es240331:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch

    • -p 5601:5601:端口映射配置

    以上便是基本使用啦~

  • 相关阅读:
    手写call(),apply(),bind()方法
    java计算机毕业设计高校会议室预约系统MyBatis+系统+LW文档+源码+调试部署
    [C]这些指针笔试题你都学废了吗?
    大数据分布式计算工具Spark实战讲解(数据输入实战)
    C# Solidworks二次开发:创建草图文本和创建草图中心线API详解
    SpringMVC学习篇(四)
    2023年地理信息系统与遥感专业就业前景与升学高校排名选择
    web开发简单知识
    Typecho博客搭建+cpolar内网穿透实现公网访问内网站点
    陈瑞瑞潘童童程乐黄明深哈夫曼编码与信道编码
  • 原文地址:https://blog.csdn.net/weixin_51296247/article/details/137205179