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

相关推荐
rising start6 小时前
二、全面理解MySQL架构
mysql·架构
bqq198610267 小时前
MySQL性能优化
mysql·mysql优化
雨辰AI8 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
长城20248 小时前
关于MySql的ONLY_FULL_GROUP_BY问题
数据库·mysql·聚合列
常常有8 小时前
MySQL 底层执行原理:输入SQL语句到两阶段提交
数据库·sql·mysql
海市公约10 小时前
MySQL更新语句执行全流程:从Buffer Pool修改到二阶段提交
数据库·mysql·binlog·innodb·undo log·二阶段提交·update执行原理
仙柒41510 小时前
Docker存储原理
运维·docker·容器
颂love10 小时前
MySQL的执行流程
android·数据库·mysql
海市公约10 小时前
一条SQL查询的完整旅程:MySQL执行流程深度解析
sql·mysql·数据库优化·执行计划·连接器·查询缓存·sql执行原理
沪漂阿龙12 小时前
MySQL 面试题爆款详解:InnoDB 页机制、B+树索引、Buffer Pool、Redo Log、页分裂与性能优化一次讲透
b树·mysql·性能优化