操作均基于 CentOS 7.6 环境进行
- 使用了 yum 命令行安装
# 安装dockeryum -y install docker# 启动dockersudo systemctl enable docker# 设置开机自启动sudo systemctl enable docker# 测试docker run hello-world
- 更换 docker 源
vim /etc/docker/daemon.json# 写入{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]}
Docker 使用 Dockerfile 构建 redis 并挂载外部 redis.conf
- 在 docker 中拉取 redis 镜像
# 拉取redisdocker pull redis
- 创建编写 Dockerfile 文件
FROM redis:latestMAINTAINER marco "wmxing97@foxmail.com"COPY redis.conf /usr/local/etc/redis/redis.confCMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
- 创建并配置 redis.conf
redis.conf 可以在网上复制,并且根据需要去修改
- 构建 docker 镜像
# 在Dockerfile所在的文件夹下docker build -t = "redis:v1" .
此时,使用 docker images 命令就可以看到有一个新构建的镜像
- 运行 docker 镜像
docker run -p 6379:6379 -d redis:v1
Docker 安装 MySQL 5.7
- 使用网易加速节点拉取镜像
docker pull hub.c.163.com/library/mysql:5.7
- 重命名镜像
docker tag hub.c.163.com/library/mysql:5.7 mysql:5.7
- 运行 MySQL
docker run --name mysql-server -p 3306:3306 -d -e MYSQL_ROOT_PASSWORD=1997 mysql:5.7
- 进入容器并设置远程连接
docker exec -it mysql-server bashmysql -uroot -pmysql> grant all privileges on *.* to root@"%" identified by "1997" with grant option;ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1997';flush privileges;
- 重启容器
Docker 安装 zookeeper
- 拉取 zookeeper 镜像
docker pull wurstmeister/zookeeper
- 启动 zookeeper
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
Docker 安装 kafka
- 使用 docker-compose.yml 部署,首先是编写 docker-compose.yml
touch docker-compose.ymlvim docker-compose.yml# 写入以下内容version: '2.1'services:zookeeper:image: wurstmeister/zookeeperports:- "2181:2181"kafka:image: wurstmeister/kafkaports:- "9092:9092"environment:KAFKA_ADVERTISED_HOST_NAME: 152.136.98.68KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181volumes:- /var/run/docker.sock:/var/run/docker.sock
- 启动 kafka
docker-compose up -d
这里的 docker-compose 文件已经包含了 zookeeper,所以运行 docker-compose up -d 命令时,zookeeper 也会一起启动,所以不需要提前启动 zookeeper
