英文网站有哪些,市工商联官方网站建设方案,电脑做网站服务器需要什么软件,网站建设和架构AliLinux的使用Docker初始化服务#xff08;详细#xff09;
AliLinux是基于CentOS的。
1、java 环境
2、mysql环境
3、kafka环境
4、flink环境
5、dinky环境 这些环境#xff0c;本想直接dnf安装在宿主机上#xff0c;思来想去#xff0c;还是用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-repohttps://download.docker.com/linux/centos/docker-ce.repo需要注意不同的linux的版本因为还有很多linux版本比如redhatfedoracentos等。
2.3、安装Docker
sudo dnf install docker-ce docker-ce-cli containerd.iosudo: 在命令前加上sudo表示以超级用户root权限来执行该命令。这样做是因为安装Docker通常需要超级用户权限dnf: DNFDandified 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 docker2.5、验证Docker安装
docker --version本人的环境 [rootiZbp1bvzo2rsslr2bubzlnZ ~]# 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:111.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本机显示 rootd4e8342175d9:/# java -version
openjdk version 11.0.16 2022-07-19
OpenJDK Runtime Environment 18.9 (build 11.0.168)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.168, mixed mode, sharing)2、docker安装mysql
2.1、拉取Mysql的镜像
docker pull mysql2.2、运行mysql镜像
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD123456 -p 3306:3306 mysql2.3、查看容器情况
docker ps如果看到名为 “mysql” 的容器在运行则表示 MySQL 容器已成功启动。
2.4、进入mysql容器
docker exec -it mysql mysql -uroot -p12345命令解释 docker run -d --name mysql -e MYSQL_ROOT_PASSWORD123456 -p 3306:3306 mysql
这个命令的意思是 docker run: 运行一个新的容器。 -d: 在后台detached模式下运行容器即容器在后台执行不会阻塞终端。 --name mysql: 为容器指定一个名称这里是 mysql。 -e MYSQL_ROOT_PASSWORD123456: 设置 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/zookeeper3.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/kafka3.4、启动kafka容器
docker run -d --name kafka -p 9092:9092 --link zookeeper:zookeeper --env KAFKA_ZOOKEEPER_CONNECTzookeeper:2181 --env KAFKA_ADVERTISED_LISTENERSPLAINTEXT://localhost:9092 --env KAFKA_LISTENERSPLAINTEXT://0.0.0.0:9092 --env KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR1 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_CONNECTzookeeper:2181: 设置环境变量KAFKA_ZOOKEEPER_CONNECT指定与Zookeeper的连接地址和端口。
--env KAFKA_ADVERTISED_LISTENERSPLAINTEXT://localhost:9092: 设置环境变量KAFKA_ADVERTISED_LISTENERSbroker转发出去的外网的地址。
--env KAFKA_LISTENERSPLAINTEXT://0.0.0.0:9092: 容器内部。
--env KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR1: 设置环境变量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_LISTENERSPLAINTEXT://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_CONNECTzookeeper:2181 --env KAFKA_ADVERTISED_LISTENERSPLAINTEXT://118.31.250.73:9092 --env KAFKA_LISTENERSPLAINTEXT://0.0.0.0:9092 --env KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR1 wurstmeister/kafka3.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并进行基本验证的过程。
待更新。。。