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

相关推荐
ccecw2 小时前
Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错
数据库·mysql
JH30732 小时前
达梦数据库与MySQL的核心差异解析:从特性到实践
数据库·mysql
金刚猿3 小时前
01_虚拟机中间件部署_root 用户安装 docker 容器,配置非root用户权限
docker·中间件·容器
JH_Kong3 小时前
解决 WSL 中 Docker 权限问题:从踩坑到完整修复
docker·容器
忆~遂愿4 小时前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
Goat恶霸詹姆斯5 小时前
mysql常用语句
数据库·mysql·oracle
ask_baidu6 小时前
KafkaUtils
kafka·bigdata
洛豳枭薰7 小时前
消息队列关键问题描述
kafka·rabbitmq·rocketmq
70asunflower7 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
lucky67078 小时前
Spring Boot集成Kafka:最佳实践与详细指南
spring boot·kafka·linq