AliLinux的使用Docker初始化服务(详细)

这篇具有很好参考价值的文章主要介绍了AliLinux的使用Docker初始化服务(详细)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

AliLinux的使用Docker初始化服务(详细)

AliLinux是基于CentOS的。

1、java 环境

2、mysql环境

3、kafka环境

4、flink环境

5、dinky环境

这些环境,本想直接dnf安装在宿主机上,思来想去,还是用docker方便学习,也方便统一管理和使用

1、先更新系统环境的dnf的包

sudo dnf update && sudo dnf upgrade

2、安装docker

2.1、熟悉docker的命令

Docker 是一个广泛使用的容器化平台,提供了一系列的命令用于管理容器、镜像和容器化应用程序。以下是 Docker 的一些常用命令及其简要介绍:
docker run: 创建并运行一个新的容器。可以指定所使用的镜像、容器名称、端口映射、环境变量等选项。
docker start: 启动已经被创建但处于停止状态的容器。
docker stop: 停止正在运行的容器。
docker restart: 重启容器。
docker rm: 删除一个或多个容器。
docker ps: 列出正在运行的容器。
docker images: 列出本地存在的镜像。
docker pull: 从远程仓库下载镜像。
docker push: 将本地的镜像推送到远程仓库。
docker exec: 在运行中的容器中执行命令。
docker logs: 查看容器的日志输出。
docker inspect: 获取容器或镜像的详细信息。
docker build: 根据 Dockerfile 构建一个镜像。
docker-compose: 使用 Compose 文件定义和管理多个容器的应用程序。
docker network: 管理 Docker 网络,如创建自定义网络、连接容器到网络等。

这只是 Docker 命令的一小部分,Docker 还提供了许多其他有用的命令和选项,用于管理容器、镜像、卷、网络和其他资源。你可以通过运行 docker --help 或者 docker [command] --help 来获取更详细的命令帮助文档。

2.2、添加Docker存储库

sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

需要注意不同的linux的版本,因为还有很多linux版本,比如redhat,fedora,centos等。

2.3、安装Docker

sudo dnf install docker-ce docker-ce-cli containerd.io
  • sudo: 在命令前加上sudo表示以超级用户(root)权限来执行该命令。这样做是因为安装Docker通常需要超级用户权限
  • dnf: DNF(Dandified Yum)是Fedora和CentOS等Linux发行版的包管理器,用于安装、更新和删除软件包。
  • install: install是DNF命令的一个选项,用于安装指定的软件包。
  • docker-ce: docker-ce是Docker社区版(Community Edition)的软件包名称,它包含了Docker引擎和其他相关组件。
  • docker-ce-cli: docker-ce-cli是Docker社区版的命令行工具软件包,提供了与Docker引擎进行交互的命令。
  • containerd.io: containerd.io是containerd容器运行时的软件包,它是一个行业标准的容器运行时,专注于简单性、稳健性和可移植性。

因此,运行sudo dnf install docker-ce docker-ce-cli containerd.io命令将会下载并安装Docker引擎、Docker命令行工具和containerd容器运行时,以便你可以在Linux系统上使用Docker来构建和管理容器化应用程序。

2.4、启动Docker服务

sudo systemctl start docker

2.5、验证Docker安装

docker --version

本人的环境

[root@iZbp1bvzo2rsslr2bubzlnZ ~]# docker --version
Docker version 25.0.3, build 4debf41

接下来就是docker的世界了!

使用docker安装其他服务

1、java 环境

2、mysql环境

3、kafka环境

4、flink环境

5、dinky环境

1、docker安装java

1.1、拉取jdk镜像服务

docker pull openjdk:11

1.2、运行jdk

docker run -d -it --name java-11 openjdk:11 

命令解释

命令 docker run -d -it --name java-11 openjdk:11 的含义如下:

docker run: 运行一个新的容器。

-d: 在后台(detached)模式下运行容器,即容器在后台执行,不会阻塞终端。
-it: 分配一个伪终端(pseudo-TTY),并保持标准输入(stdin)打开。这允许你与容器进行交互。
--name java-11: 容器名称,这里是 "java-11"。
openjdk:11: 指定要运行的镜像,这里是 OpenJDK 11。
综合起来,该命令的作用是在后台运行一个基于 OpenJDK 11 的容器,并分配一个伪终端,使用户能够与容器进行交互。容器的名称被设置为 "java-11"。

1.3、进入java容器

docker exec -it java-11 /bin/bash

命令解释

docker exec docker的执行命令
-it: 分配一个伪终端(pseudo-TTY),并保持标准输入(stdin)打开。这允许你与容器进行交互。
-- java-11 :容器名称
/bin/bash : 进入命令

1.4、显示版本

java -version

本机显示

root@d4e8342175d9:/# java -version
openjdk version "11.0.16" 2022-07-19
OpenJDK Runtime Environment 18.9 (build 11.0.16+8)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.16+8, mixed mode, sharing)

2、docker安装mysql

2.1、拉取Mysql的镜像

docker pull mysql

2.2、运行mysql镜像

docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql

2.3、查看容器情况

docker ps

如果看到名为 “mysql” 的容器在运行,则表示 MySQL 容器已成功启动。

2.4、进入mysql容器

docker exec -it mysql mysql -uroot -p12345

命令解释

docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql

这个命令的意思是: docker run: 运行一个新的容器。 -d: 在后台(detached)模式下运行容器,即容器在后台执行,不会阻塞终端。 --name mysql: 为容器指定一个名称,这里是 "mysql"。 -e MYSQL_ROOT_PASSWORD=123456: 设置 MySQL 容器的环境变量,其中 123456 是你自己设置的 MySQL root 用户的密码。 -p 3306:3306: 将容器的 3306 端口映射到主机的 3306 端口,允许从主机上的应用程序连接到容器中运行的 MySQL 服务。 mysql: 指定要运行的镜像,这里是 MySQL 镜像。 综合起来,该命令的作用是在后台运行一个名为 "mysql-container" 的容器,使用提供的 MySQL 镜像。容器将暴露 3306 端口,允许从主机上的应用程序连接到 MySQL 服务。MySQL root 用户的密码将通过环境变量传递给容器。 这个命令将创建并运行一个 MySQL 容器,你可以使用 MySQL 客户端工具连接到容器中的 MySQL 服务,并使用设置的密码进行身份验证。

3、安装kafka

https://blog.csdn.net/m0_64210833/article/details/134199061

kafka依赖Zookeeper,当然也可以用内置的kraft。

安装前提条件

1.安装Zookeeper

1.1运行ZooKeeper容器

2.运行Kafka容器

2.1启动Kafka容器

3.验证

3.1进入Kafka容器

3.2查看容器状态

3.3查看容器日志

3.4重新启动容器

3.5创建测试主题

docker pull wurstmeister/zookeeper

3.1、拉取Zookeeper镜像

docker pull wurstmeister/zookeeper

3.2、运行ZooKeeper容器

使用以下命令运行一个ZooKeeper的Docker容器:

docker run -d --name zookeeper -p 2181:2181 wurstmeister/zookeeper

这个命令会启动一个名为“zookeeper”的Docker容器,并且映射它的2181端口到你的机器的2181端口。

3.3、拉取Kafka镜像

接下来,你需要运行Kafka的Docker容器,并且配置它连接到你刚刚启动的ZooKeeper实例。如果你还没有Kafka的Docker镜像,你可以使用如下命令拉取:

docker pull wurstmeister/kafka

3.4、启动kafka容器

docker run -d --name kafka -p 9092:9092 --link zookeeper:zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 --env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 --env KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 wurstmeister/kafka
让我们逐个解释每个选项和参数的含义:

docker run: 运行一个新的Docker容器。
-d: 在后台运行容器。
--name kafka: 为容器指定一个名称为"kafka"。
-p 9092:9092: 将主机的9092端口映射到容器的9092端口。Kafka使用9092端口进行消息传递。
--link zookeeper:zookeeper: 将名为"zookeeper"的容器链接到"kafka"容器,以便Kafka可以与Zookeeper进行通信。Zookeeper是Kafka的依赖项,用于协调和管理Kafka集群。
--env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181: 设置环境变量KAFKA_ZOOKEEPER_CONNECT,指定与Zookeeper的连接地址和端口。
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092: 设置环境变量KAFKA_ADVERTISED_LISTENERS,broker转发出去的外网的地址。
--env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092: 容器内部。
--env KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1: 设置环境变量KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR,指定Kafka偏移量主题的复制因子。这里设置为1,表示只有一个副本。
最后一个参数wurstmeister/kafka指定了要在容器中运行的Kafka镜像的名称。

参考网址https://www.jianshu.com/p/26495e334613

其实kafka客户端访问kafka是分两步走:
第一步,不管什么方式,客户端只要能连接到KAFKA_LISTENERS标识的地址,成功完成必要的认证后,就可以得到一个brokers返回地址。
第二步,通过返回的brokers重新建立和kafka的连接,生成producer/consumer。这个返回的brokers就是KAFKA_ADVERTISED_LISTENERS的值。


注意,如果要连外网,需要修改

–env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092

localhost改为 当前公网ip 118.31.250.73 (当前ali买的服务器的的公网IP)

别用我的ip

docker run -d --name kafka -p 9092:9092 --link zookeeper:zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://118.31.250.73:9092 --env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 --env KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 wurstmeister/kafka

3.5、进入kafka容器

docker exec -it kafka /bin/bash

注意:可能出现报错:Error response from daemon: Container 62b9c056c0aa9d6ba917690abae1c6fe16c750a96fe428cdaa43f4c692a146ca is not running

说明kafka并没有运行。

3.6、创建测试主题

在Kafka容器中,运行以下命令创建一个测试主题:

kafka-topics.sh --create --topic test --partitions 1 --replication-factor 1 --zookeeper zookeeper:2181

在另一个终端窗口中,打开一个消费者来读取测试主题的消息(也需要进入kafka容器哈):

kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

然后你可以输入一些消息(比如输入hell按下enter)。

如果一切设置正确,你应该能在消费者终端中看到你在生产者终端输入的消息。

这就完成了使用Docker运行ZooKeeper和Kafka,并进行基本验证的过程。

待更新。。。文章来源地址https://www.toymoban.com/news/detail-833294.html

到了这里,关于AliLinux的使用Docker初始化服务(详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++之初始化列表详细剖析

    初始化列表:以一个 冒号开始 ,接着是一个以 逗号分隔的数据成员列表 ,每个 \\\"成员变量\\\" 后面跟一个 放在括号中的初始值或表达式。 不知道大家有没有想过这样一个问题,成员函数明明可以在函数内部对成员变量进行赋值,那为什么还要搞出初始化列表这个东西呢?这个

    2024年02月06日
    浏览(45)
  • 华为云云服务器评测|初始化配置SSH连接 & 安装MySQL的docker镜像 & 安装redis以及主从搭建 & 7.2版本redis.conf配置文件

    1.云耀云服务器L实例初始化配置,设置密码,ssh连接; 2.安装docker,安装运行mysql容器; 3.redis镜像的拉取,创建运行容器; 4.搭建redis主从,一主一从,7.2版本的redis.conf配置文件; 设置密码,官方要求复杂一点 进行远程登陆配置 添加开放的端口 在finalShell中新建SSH连接 系统

    2024年02月10日
    浏览(44)
  • STM32 串口的初始化(内附详细代码)

    首先我们先要根据原理图来确认我们用的串口接到了那个引脚  我这边的串口1为例,接收端是PA10,发送端是PA9首先我们需要配置PA9和PA10. 把接受端配置成浮空输入,完全靠引脚来判断。把发送端配置成复用推挽模式,并打开GPIOA的时钟和复用时钟多的看代码吧,我把注释都写

    2024年02月13日
    浏览(38)
  • K8S集群重新初始化--详细过程

    在引导k8s集群的过程时可能因为这个或那个的原因导致需要重新引导集群 。 下面整理了我在实际工作中初始化k8s集群的详细过程。 k8s环境部署总览 ip地址 类型 操作系统 服务配置 192.168.162.31 Master01 Centos7.6 2核CPU 2G内存 20G硬盘 192.168.162.41 node1 Centos7.6 2核CPU 2G内存 20G硬盘 192

    2024年02月02日
    浏览(31)
  • Linux服务器初始化工作

    以下为一键运行脚本,此脚本在AlmaLinux8,9系统上测试通过,其它版本系统无法保证全部功能正常运行。推荐仅在全新的服务器操作系统上运行此脚本,如二次执行可能会出现未知错误! 通常在购买一台新的服务器时服务器Hostname会被云厂商定义为特定的名称,如果需要修改

    2023年04月22日
    浏览(61)
  • 阿里云服务器如何初始化云盘(跟换系统)?初始化云盘和跟换操作系统的区别?

            若在Linux系统(服务器)上,环境安装出错,可通过云服务器上初始化云盘,回归硬盘初始化状态,进行重新安装。         作为小白的我们,第一次在服务器中下载安装软件,并部署环境,难免万般出错,然而想要完全卸载软件,甚是初始化到原来的系统环境,依

    2023年04月08日
    浏览(41)
  • 【redis】redis 初始化服务器

    出自: Redis设计与实现.pdf 主要是方便自己查找,建议大家去看原文。 一个Redis服务器从启动到能够接受客户端的命令请求,需要经过 一系列的初始化和设置过程,比如初始化服务器状态,接受用户指定的 服务器配置,创建相应的数据结构和网络连接等等。 初始化服务器的

    2024年02月20日
    浏览(28)
  • Ubuntu服务器service版本初始化

    下载路径 官网:https://cn.ubuntu.com/ 下载路径:https://cn.ubuntu.com/download 服务器:https://cn.ubuntu.com/download/server/step1 点击下载(22.04.3):https://cn.ubuntu.com/download/server/thank-you?version=22.04.3architecture=amd64 默认选中“Try or Install Ubuntu Server”安装选项 进入安装欢迎界面,键盘上下键选择

    2024年02月12日
    浏览(38)
  • 麒麟服务器系统mariadb安装与初始化

    系统版本: 如果服务器无法连接外网,并且没有预装 mariadb ,那么就需要先配置镜像源,然后才能安装 mariadb 。如果你的服务器可以连接外网,那么可以跳过这一步,直接按照第3步中的方法安装 mariadb 。 上传系统镜像到服务器 这里我把系统镜像上传到 /root 目录。 挂载系统

    2024年02月07日
    浏览(66)
  • 全网最全,在Linux下安装Git与初始化Git 环境(详细)

    Linux 安装 Git 1、wget方式 下载Git安装包: 直接执行以下命令 解压安装包: 安装编译源码所需依赖: 卸载旧版本Git: 编译: 安装Git: 配置环境变量: 在底部的path变量结尾加上相关配置信息即可 随后保存并更新环境配置 验证: 再来看看git的版本号 到此为止,大功告成了

    2024年02月07日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包