Docker安装教程

1. 安装yum

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

yum -y install docker-ce

1.1 NO package docker-ce available

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

NO package docker-ce available.
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时,提前关闭防火墙,本次先不关闭有需求时执行以下命令即可。

# 查询当前防火墙状态
systemctl status firewalld
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld

docker操作命令

systemctl start docker  # 启动docker服务
​
systemctl stop docker  # 停止docker服务
​
systemctl restart docker  # 重启docker服务
​
docker images # 查看docker是否启动(或者输入docke然后tab看是否能够补齐~)
​
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需要以下两个命令

systemctl stop docker
systemctl stop docker.socket

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

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

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

4.安装elasticsearch以及kibana

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

docker network create es-net

(2) docker安装es以及kibana

docker pull elasticsearch:7.12.1
docker pull kibana:7.12.1

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

docker images

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

(4) 运行es

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
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) 开放端口防火墙

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

查看当前虚拟机ip

ipconfig
​
# 当没有ipconfig命令时,安装net-tools
yum install net-tools

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

image-20240331174245257

(6) 启动kibana

docker run -d \ 
--name kibana \ 
-e ELASTICSEARCH_HOSTS=http://es:9200 \ 
--network=es-net \ 
-p 5601:5601  \ 
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:端口映射配置

以上便是基本使用啦~

相关推荐

  1. Docker安装教程

    2024-03-31 19:20:05       71 阅读
  2. Docker Zookeeper 安装 简单教程

    2024-03-31 19:20:05       57 阅读
  3. docker离线安装教程

    2024-03-31 19:20:05       61 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-31 19:20:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-31 19:20:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-31 19:20:05       87 阅读
  4. Python语言-面向对象

    2024-03-31 19:20:05       96 阅读

热门阅读

  1. cs0449 c

    cs0449 c

    2024-03-31 19:20:05      36 阅读
  2. 每日一题 --- 替换数字[卡码][Go]

    2024-03-31 19:20:05       48 阅读
  3. js 扩展运算符(...)的用法

    2024-03-31 19:20:05       42 阅读
  4. 力扣爆刷第108天之CodeTop100五连刷26-30

    2024-03-31 19:20:05       41 阅读
  5. mysql用户与权限

    2024-03-31 19:20:05       36 阅读
  6. 汇总17个工作必备的Python自动化代码

    2024-03-31 19:20:05       32 阅读
  7. vue路由重定向

    2024-03-31 19:20:05       36 阅读
  8. CSS 滚动条样式修改

    2024-03-31 19:20:05       42 阅读
  9. 30. 串联所有单词的子串 —— LeetCode (python)

    2024-03-31 19:20:05       44 阅读
  10. 如何解决redis里的大key问题

    2024-03-31 19:20:05       38 阅读
  11. python项目练习——9.在线聊天应用程序

    2024-03-31 19:20:05       31 阅读