Docker部署三个centos7容器

简介: 用完完成在容器环境中部署大数据相关组件

一,在centos7安装docker引擎

官方文档:https://docs.docker.com/engine/install/centos/

1,设置存储库

yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2,安装docker引擎

yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

3,启动 Docker。

systemctl start docker

4, 配置镜像加速

# 1 创建目录
mkdir -p /etc/docker
# 2 创建文件
vi /etc/docker/daemon.json
# 3 输入内容
{
 "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}
# 4 重启
systemctl daemon-reload
systemctl restart docker

5,验证

docker run hello-world

二,在docker搭建三个容器

1、拉取镜像

docker pull centos:centos7

2、查看镜像

docker images

image-20230612111352955**

3、设置网桥

设置docker网桥,用于分配固定IP

docker network create --subnet=192.168.1.1/24 network

4、搭建容器

这里我们搭建三个Centos容器

docker run -d --privileged --restart=always -it  --name master -h master --net network --ip 192.168.1.10 centos:centos7 /usr/sbin/init
docker run -d --privileged --restart=always -it  --name slave1 -h slave1 --net network --ip 192.168.1.11 centos:centos7 /usr/sbin/init
docker run -d --privileged --restart=always -it  --name slave2 -h slave2 --net network --ip 192.168.1.12 centos:centos7 /usr/sbin/init

参数说明:

  • –privileged(必需) 指定容器是否是特权容器,这里开启特权模式
  • -it 启动互动模式(必需)(不加容器会不停启动)
  • /usr/sbin/init(必需) 初始化容器里的CENTOS(没有初始化和特权等等的开关,就不能使用systemctl)
  • --name 容器名称
  • --restart=always 容器自动启动
  • -h 容器主机名
  • --net 设置网桥
  • --ip 指定容器IP

5、进入容器

docker exec -it master /bin/bash
docker exec -it slave1 /bin/bash
docker exec -it slave2 /bin/bash

6、设置密码

在三个容器内都需要执行:passwd root,然后输入两次密码

6、安装工具

# 在三个容器都需要执行
# 部署OpenSSHbash
yum -y install openssh openssh-server openssh-clients
systemctl start sshd
# 安装网络下载工具wget和文本编辑器vim
yum install wget vim -y:
# 安装网络工具集,包括ifconfig、netstat、route等
yum install net-tools.x86_64 -y
# 安装系统初始化脚本,提供系统启动、停止、重启、运行级别等管理功能
yum install initscripts -y

6、从宿主机发送安装包到容器

1,先使用xftp将安装包放到宿主机/opt目录下

2,将安装包复制到容器里面

# 将 宿主机opt下的software复制到容器master的opt目录下
docker cp /opt/software/ master:/opt/

完成!

可以进行大数据环境部署了。

相关文章
|
5天前
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
152 91
|
6天前
|
存储 NoSQL Redis
Docker 部署 Redis
在使用 Docker 部署 Redis 时,为实现数据持久化,需正确挂载容器内的数据目录到宿主机。推荐命令如下: ``` docker run -d --name redis -v /mnt/data/redis:/data -p 6379:6379 redis ``` 该命令将宿主机的 `/mnt/data/redis` 目录挂载到容器的 `/data` 目录,确保 Redis 数据持久化。此路径更通用,适合大多数场景。避免使用不匹配的挂载路径,如 `/var/lib/redis` 或 `/mnt/data/redis` 到非默认目录,以防止数据无法正确持久化。
|
21天前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
13天前
|
JavaScript 前端开发 Docker
如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
通过这些步骤,可以确保您的Next.js应用在多核服务器上高效运行,并且在Docker环境中实现高效的容器化管理。
72 44
|
6天前
|
网络协议 API Docker
Docker+consul容器服务的更新与发现
通过本文的介绍,我们详细探讨了如何结合Docker和Consul来实现容器服务的更新与发现。通过Consul的服务注册和发现功能,可以高效地管理和监控容器化服务,确保系统的高可用性和可扩展性。希望本文能帮助您在实际项目中更好地应用Docker和Consul,提高系统的可靠性和管理效率。
41 23
|
6天前
|
Ubuntu API 网络虚拟化
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
131 15
|
16天前
|
网络协议 Linux 网络安全
docker centos镜像 npm安装包时报错“npm ERR! code ECONNRESET”
通过上述步骤,您可以有效解决在 Docker 中使用 CentOS 镜像安装 npm 包时遇到的 "npm ERR! code ECONNRESET" 错误。希望这些方法能帮助您顺利进行 npm 包的安装。
94 26
|
1月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
58 23
|
25天前
|
SQL Java Maven
docker部署apollo
docker部署apollo步骤
|
5月前
|
Linux Docker 容器
Docker操作 :容器命令
Docker操作 (四)
222 56