Docker慢慢学

1、Docker DeskTop

2、N8N下载

docker run -p 8888:5678 n8nio/n8n

3、Kafka

kafka依赖zookeeper,先启动zookeeper

docker pull zookeeper

docker run -d --name zookeeper -p 2181:2181 -e ALLOW_ANONYMOUS_LOGIN=yes zookeeper

启动kafka

docker pull confluentinc/cp-kafka:latest

docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=host.docker.internal:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 -e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 confluentinc/cp-kafka:latest

测试创建:

kafka-topics --create --topic test --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1

kafka-topics --list --bootstrap-server localhost:9092

生产一条数据

kafka-console-producer --bootstrap-server <broker-list> --topic <topic-name>

消费数据测试:

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

4、Mysql

拉起一个Mysql容器:docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=xxxx -p 13306:3306 -d mysql:latest

查看容器:docker ps

进入mysql容器:

docker exec -it aaa4e5f36855 /bin/bash

进入mysql:

mysql -uroot -p (密码默认是root的)

授权远程登录:

复制代码
`GRANT ALL PRIVILEGES ON database_name.* TO 'root'@'%';` FLUSH PRIVILEGES;

查看docker地址:

docker inspect <容器ID或名称>;

"Networks": {

"bridge": {

"IPAMConfig": null,

"Links": null,

"Aliases": null,

"NetworkID": "xxxxxx",

"EndpointID": "yyyyyy",

"Gateway": "172.17.0.1",

"IPAddress": "172.17.0.2",

"IPPrefixLen": 16,

"IPv6Gateway": "",

"GlobalIPv6Address": "",

"GlobalIPv6PrefixLen": 0,

"MacAddress": "02:42:ac:11:00:02",

"DriverOpts": null

}

}

这里的 "IPAddress" 就是容器的IP地址。

但是本地网络连不上~~~怎么解决??

5、postgresql

docker run --name some-postgres -e POSTGRES_PASSWORD=****** -d -p 5432:5432 -v pgdata:/var/lib/postgresql/data postgres

一旦容器运行,你就可以使用 psql 客户端或其他数据库工具通过 TCP/IP 连接到你的 PostgreSQL 实例了。例如,使用以下命令连接到你的 PostgreSQL 实例:

psql -h localhost -p 5432 -U postgres -W

这里:

  • -h localhost:指定主机名。

  • -p 5432:指定端口号。

  • -U postgres:指定用户名(默认是 postgres)。

  • -W:提示输入密码。

6、Redis

docker pull redis

docker run --name redis-container -d -p 6379:6379 redis

这个命令做了几件事情:

  • --name redis-container:给容器命名为redis-container。

  • -d:让容器在后台运行。

  • -p 6379:6379:将容器的6379端口映射到宿主机的6379端口。Redis默认使用6379端口。

  • redis:指定使用之前拉取的redis镜像。

如果你需要更高级的配置,比如设置密码或者持久化存储,你可以在运行容器时添加环境变量或挂载卷。例如,设置密码:

docker run --name redis-container -d -p 6379:6379 -e REDIS_PASSWORD=yourpassword redis redis-server --requirepass yourpassword

或者使用卷来持久化数据:

docker run --name redis-container -d -p 6379:6379 -v /my/own/datadir:/data redis redis-server --appendonly yes

进入redis:

docker exec -it docker_id

redis-cli -h localhost -p 6379 -a yourStrongPasswor

或

docker exec -it redis-server redis-cli -a yourStrongPassword

相关推荐
John_Hui1 小时前
Windows 10 安装版本:mysql-8.1.0-winx64.zip
数据库·windows·mysql
莫晓燚2 小时前
双机部署若依 (RuoYi‑Vue) 传统环境部署---实战
linux·运维·数据库·redis·mysql·nginx·ruoyi
灵晔君4 小时前
【MySQL】数据库基础
数据库·mysql·adb
香蕉大香蕉(06敬畏市场)4 小时前
MySQL 单点详解(03)
java·数据库·mysql·面试·八股·大厂实习
时间售卖铺4 小时前
Docker实战:一键部署轻量级容器
运维·docker·云原生
杨云龙UP6 小时前
MySQL 主从复制管理:暂停、恢复、清理主从关系及命令执行位置
运维·数据库·mysql·主从配置·主从命令·reset replica·清除复制
霂鳯6 小时前
新手勇闯网络安全 | MySQL复习
mysql·安全·web安全
一条泥憨鱼6 小时前
【Kafka】零基础学习教程
java·分布式·学习·kafka
凤凰院凶涛QAQ7 小时前
《MySQL内核拆解:从SQL到InnoDB》(三) : 数据库设计 & 聚合查询 & 分组查询
数据库·sql·mysql
Decay__8 小时前
01_MySQL 体系架构全解 —— 连接层、SQL 层、存储引擎层与 InnoDB 深入
运维·数据库·sql·mysql·架构