您现在的位置是:首页 > 正文

Docker 环境搭建

2024-04-01 01:28:42阅读 4

官网地址

卸载docker,防止服务器上已有docker残留或者旧版本,导致安装失败:

sudo yum remove docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-engine

安装:

# 安装工具
yum install -y yum-utils
# 下载docker-ce文件
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 启动
systemctl start docker

# 停止
systemctl stop docker

centos 其他版本

Docker命令


安装环境所有依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
更换docker镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker
yum install -y docker-ce
可以直接使用:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
进行安装


# 查看镜像:
$ docker images 
# 查看运行的服务
$ docker ps -a
# 重启容器 docker ps -a 命令存在的
$ docker restart name
# 停止容器
$ docker stop name
# 查看容器内的服务文件信息
$ docker exec -it name bash
# 查看日志
$ docker logs name
# 复制容器文件到宿主机(从docker 复制文件到本地)
$ docker cp 1:2 3
1:运行容器时 --name指定的值
2:/ab/a/c 容器文件/文件夹路径(源)
3:目标文件夹
如:
$ docker cp name:/usr/share/elasticsearch/ /opt/docker/elasticsearch
# 删除容器
$ docker rm name
# 删除运行的服务
$ docker rm -f name

RabbitMq 安装与启动

安装:

运行命令:docker pull rabbitmq
默认版本是:latest

启动rabbitmq:


运行命令:
docker run \    # 运行
 -e RABBITMQ_DETAULT_USER=root \   # 设置用户名
 -e RABBITMQ_DETAULT_PASS=123456 \   # 设置 密码
 --name rabbitmq \       # 运行的镜像起个名字
 --hostname mqmq \    # 用于集群设置名称 
 -p 15672:15672 \   # 映射端口:访问端口:docker内部端口
 -p 5672:5672 \      # 映射端口:访问端口:docker内部端口
 -d \                      # 后台运行
 rabbitmq:latest    # 镜像的名称+版本
----------------------------------------------------------------------
docker run \    
 -e RABBITMQ_DETAULT_USER=root \  
 -e RABBITMQ_DETAULT_PASS=123456 \  
 --name rabbitmq \      
 -p 15672:15672 \   
 -p 5672:5672 \  
 -d \    
 rabbitmq:latest 
-----------------------------------------------------------------------
docker run --name rabbitmq  -p 5672:5672 -p 15672:15672 -d rabbitmq:3-management
-----------------------------------------------------------------------
如果:ip:15672访问不到
#进入到容器内部执行插件激活
-- docker exec -it myrabbitmq bash
-- rabbitmq-plugins enable rabbitmq_management
建议更换版本:3-managemen
=============================================
#新增用户 账号 admin 密码 admin123qwe
rabbitmqctl add_user admin admin123qwe
 
#设置用户操作权限
rabbitmqctl set_user_tags admin administrator
 
#权限说明:
#administrator 超级管理员
#monitoring 监控者
#policymaker 策略制定者
#managment 普通管理员

如果存在延迟队列 , 需要下载延迟插件
https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases
将下载的文件:rabbitmq_delayed_message_exchange-3.12.0.ez copy 到容器中
docker cp rabbitmq_delayed_message_exchange-3.12.0.ez rabbitmq:/plugins
启动插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange

进入命令行查看用户:
 rabbitmqctl list_users

访问如果提示您与当前链接不是私密链接问题可以先试用账号: guest 密码 guest 登录 
通过guest 添加账号并赋予角色权限 , 使用新账号登录 ,删除guest即可

Elasticsearch


# 创建网络,为了让es和kibana互联
$ docker network create es-net
# 拉取镜像,默认拉取
$ docker pull elasticsearch
# 需要指定版本
$ docker pull elasticsearch:8.6.2
# 运行es
$ docker run \ # 运行
-d \  # 后台运行
--name es # 运行之后的名称
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" # 配置jvm堆内存大小,es默认1G,可根据服务器配置
-e "discovery.type=single-node" # -e 配置环境变量,配置单点模式启动
-v /opt/docker/es/data:/usr/share/elasticsearch/data \ # 配置es数据挂载目录
-v /opt/docker/es/plugins:/usr/share/elasticsearch/plugins \ # 配置es插件挂载目录
-v /opt/docker/es/logs:/usr/share/elasticsearch/logs \ # 配置es插件挂载目录
--privileged \ #
--net es-net \ # 配置网络
-p 9200:9200 \ # 映射端口
-p 9300:9300 \
elasticsearch:8.6.2
-------------------------------------------------------------------------------
启动报错,先把挂载的目录/opt/docker/es 权限处理一下
$ chmod 777 -R /opt/docker/es/
-------------------------------------------------------------------------------
docker run -d --name es -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -v /opt/docker/es/data:/usr/share/elasticsearch/data -v /opt/docker/es/logs:/usr/share/elasticsearch/logs -v /opt/docker/es/plugins:/usr/share/elasticsearch/plugins --net es-net --privileged -p 9200:9200 -p 9300:9300 elasticsearch:8.6.2
启动之后访问不到的问题:
es正常启动之后IP:9200访问不到:
1、修改配置文件elasticsearch.yml
将:docker容器中的文件copy到宿主机上创建的es文件夹config下;
cp$> docker cp es:/usr/share/elasticsearch/ /opt/docker/elasticsearch
运行的时候挂载上当前文件:-v /opt/docker/elasticsearch/config/elasticsearch.yml
将:xpack.security.enabled=true
2、进入容器文件夹下运行,多个账号需要设置密码,一次设置重启即可
进入容器文件夹$>  docker exec -it es bash
运行设置密码$> ./elasticsearch-setup-passwords interactive

kibana


拉取镜像
$ docker pull kibana:8.6.2
kibana版本尽量与es版本一致
运行kibana
> docker run -d \  # 后台运行
  --name kibana \  # 运行名称
  -e ELASTICSEARCH_HOSTS=http://es:9200 \ # 链接es
  --network=es-net \ # 设置与es一个网络
  -p 5610:5601 \ # 端口映射:外部访问端口:docker容器内端口
  kibana:8.6.2

EMQX 

#  docker pull  emqx

# docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:latest

网站文章

  • CSS的苹果兼容

    CSS的苹果兼容

    2019独角兽企业重金招聘Python工程师标准>>> ...

    2024-04-01 01:28:19
  • 万用表测量二极管

    万用表测量二极管

    测量二极管正负 一个正常的二极管,用指针表的电阻档测,若处于导通状态,是不是黑表笔接触的一级为二极管的正极,红表笔为负极!用数字表测,若处于导通状态,结论正好相反(红表笔为正极)!是这样的吗 首先要知道: 用指针式万用表测量二极管得出的是二极管的正反向电阻。 用数字式万用表测量二极管得出的是二极管的导通压降。 另外还要知道: 指针式万用表的红、黑表笔在表内是通过元器件分别连接到工作电池的负、

    2024-04-01 01:28:11
  • 第三节 python 运算符

    第三节 python 运算符

    算术运算符 算术运算符 描述 + 加 - 减 * 乘 / 除(在Python中除法的运算结果为浮点数) // 商运算,整除求商 % 模运算,整除取余 ** 幂运算 求商是向下取整。 向下取整,就是在左...

    2024-04-01 01:28:04
  • mysql5.7 源码安装

    mysql5.7 源码安装

    2024-04-01 01:27:59
  • WEBRTC浅析(七)GCC之Receiver Estimated Maximum Bitrate的协议简析

    WEBRTC浅析(七)GCC:: Receiver Estimated Maximum Bitrate的协议简析接收端的带宽估计 (Receiver Estimated Maximum Bitrate...

    2024-04-01 01:27:34
  • x265笔记_3_并行处理机制

    x265笔记_3_并行处理机制

    HEVC中的并行处理机制,x265中的并行处理

    2024-04-01 01:27:27
  • MySQL基础(十一)——DQL之联合查询

    本篇文章主要是对MySQL学习时的一些总结,作为学习笔记记录。数据来源数据部分来自于b站尚硅谷MySQL课程联合查询当要查询的结果来自于多个表,且多个表之间没有直接的连接关系,但查询的信息一致时,可以...

    2024-04-01 01:27:20
  • 高德地图Uncaught Error: Invalid Object: LngLat(NaN, NaN)报错

    可能因为没有设置高度。

    2024-04-01 01:26:55
  • LabVIEW在OPC中使用基金会现场总线 最新发布

    LabVIEW在OPC中使用基金会现场总线 最新发布

    区域中选择项目3. 单击。

    2024-04-01 01:26:46
  • Java线程的6种状态及切换(透彻讲解)

    Java线程的6种状态及切换(透彻讲解)

    Java中线程的状态分为6种。1. 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。2. 运行(RUNNABLE):Java线程中将就绪(ready...

    2024-04-01 01:26:33