操作均基于 CentOS 7.6 环境进行

  • 使用了 yum 命令行安装
  1. # 安装docker
  2. yum -y install docker
  3. # 启动docker
  4. sudo systemctl enable docker
  5. # 设置开机自启动
  6. sudo systemctl enable docker
  7. # 测试
  8. docker run hello-world
  • 更换 docker 源
  1. vim /etc/docker/daemon.json
  2. # 写入
  3. {
  4. "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
  5. }

Docker 使用 Dockerfile 构建 redis 并挂载外部 redis.conf

  • 在 docker 中拉取 redis 镜像
  1. # 拉取redis
  2. docker pull redis
  • 创建编写 Dockerfile 文件
  1. FROM redis:latest
  2. MAINTAINER marco "wmxing97@foxmail.com"
  3. COPY redis.conf /usr/local/etc/redis/redis.conf
  4. CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
  • 创建并配置 redis.conf

redis.conf 可以在网上复制,并且根据需要去修改

  • 构建 docker 镜像
  1. # 在Dockerfile所在的文件夹下
  2. docker build -t = "redis:v1" .

此时,使用 docker images 命令就可以看到有一个新构建的镜像

  • 运行 docker 镜像
  1. docker run -p 6379:6379 -d redis:v1

Docker 安装 MySQL 5.7

  • 使用网易加速节点拉取镜像
  1. docker pull hub.c.163.com/library/mysql:5.7
  • 重命名镜像
  1. docker tag hub.c.163.com/library/mysql:5.7 mysql:5.7
  • 运行 MySQL
  1. docker run --name mysql-server -p 3306:3306 -d -e MYSQL_ROOT_PASSWORD=1997 mysql:5.7
  • 进入容器并设置远程连接
  1. docker exec -it mysql-server bash
  2. mysql -uroot -p
  3. mysql> grant all privileges on *.* to root@"%" identified by "1997" with grant option;
  4. ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1997';
  5. flush privileges;
  • 重启容器

Docker 安装 zookeeper

  • 拉取 zookeeper 镜像
  1. docker pull wurstmeister/zookeeper
  • 启动 zookeeper
  1. docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper

Docker 安装 kafka

  • 使用 docker-compose.yml 部署,首先是编写 docker-compose.yml
  1. touch docker-compose.yml
  2. vim docker-compose.yml
  3. # 写入以下内容
  4. version: '2.1'
  5. services:
  6. zookeeper:
  7. image: wurstmeister/zookeeper
  8. ports:
  9. - "2181:2181"
  10. kafka:
  11. image: wurstmeister/kafka
  12. ports:
  13. - "9092:9092"
  14. environment:
  15. KAFKA_ADVERTISED_HOST_NAME: 152.136.98.68
  16. KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
  17. volumes:
  18. - /var/run/docker.sock:/var/run/docker.sock
  • 启动 kafka
  1. docker-compose up -d

这里的 docker-compose 文件已经包含了 zookeeper,所以运行 docker-compose up -d 命令时,zookeeper 也会一起启动,所以不需要提前启动 zookeeper