安装Docker for Windows
- 首先确保能科学上网,且系统是
win10
专业版、教育版。 - 确保在
BIOS
中已经开启了CPU
虚拟化,否则安装完成后启动Docker
会出现Hardware assisted virtualization and data execution protection must be enabled
报错。点击“任务管理器”->"性能"可以查看虚拟化是否被开启,如未开启,可以参考此处,如果已开启,可直接进入下面的正式安装步骤。
- 在https://www.docker.com/products/docker-desktop下载
Docker for Windows
。 - 执行可执行文件,一路默认安装即可。安装过程中需要几次重启,安装后启动
Docker
会提示启用Hyper-V
需要重启。 - 打开
git bash
,执行如下命令,如果显示dokcer
的版本号,表示安装成功。
$ docker -v
启动Docker镜像
- 新建
docker-compose.yaml
文件,内容如下,可保存到任意位置。
version: "3"
services:
zookeeper-0:
container_name: zookeeper-0
image: registry.cn-hangzhou.aliyuncs.com/choerodon-tools/zookeeper:3.4.10
hostname: zookeeper-0
environment:
- ZK_REPLICAS=1
- ZK_HEAP_SIZE=2G
- ZK_TICK_TIME=2000
- ZK_INIT_LIMIT=10
- ZK_SYNC_LIMIT=5
- ZK_MAX_CLIENT_CNXNS=60
- ZK_SNAP_RETAIN_COUNT=3
- ZK_PURGE_INTERVAL=1
- ZK_LOG_LEVEL=INFO
- ZK_CLIENT_PORT=2181
- ZK_SERVER_PORT=2888
- ZK_ELECTION_PORT=3888
ports:
- "2181:2181"
- "2888:2888"
- "3888:3888"
command:
- sh
- -c
- zkGenConfig.sh && exec zkServer.sh start-foreground
volumes:
- "./kafka/zk:/var/lib/zookeeper"
kafka-0:
container_name: kafka-0
image: registry.cn-hangzhou.aliyuncs.com/choerodon-tools/kafka:1.0.0
hostname: 127.0.0.1
depends_on:
- zookeeper-0
links:
- zookeeper-0
ports:
- "9092:9092"
command:
- sh
- -c
- "/opt/kafka/bin/kafka-server-start.sh config/server.properties \
--override zookeeper.connect=zookeeper-0:2181 \
--override log.dirs=/opt/kafka/data/logs \
--override broker.id=0 "
volumes:
- "./kafka/kafka:/opt/kafka/data"
mysql:
container_name: mysql
hostname: mysql
image: registry.cn-hangzhou.aliyuncs.com/choerodon-tools/mysql:5.7.17
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: root
volumes:
- ./mysql/mysql_data:/var/lib/mysql
- ./mysql/mysql_db.cnf:/etc/mysql/conf.d/mysql_db.cnf
- 在
docker-compose.yaml
所在目录,打开git bash
执行如下命令:
$ docker-compose up -d
- 为确保三个镜像都已启动,可重复执行如上命令,直至出现下图所示日志:
- 若是镜像无法启动,可以尝试重启
Docker
,然后执行如上操作。如果还是不行,则需要删除掉Docker
中原有的镜像,再执行如上操作。删除镜像需先使用docker stop [镜像名]
停止镜像,再使用docker rmi [镜像id]
删除镜像。 - 可通过命令
docker ps
或docker-compose ps
查看容器中正在运行的镜像,通过命令docker images
查看下载的Docker
镜像,通过命令docker-compose down
停止镜像。可通过命令docker ps
或docker-compose ps
查看容器中正在运行的镜像,通过命令docker-compose down
停止镜像。
MySQL数据库
启动MySQL服务器
可通过如下命令:
$ docker run --name=mysqlTest -e MYSQL_ROOT_PASSWORD=root -d mysql
--name=mysqlTest
: 为容器指定一个名称,此处为mysqlTest
-e MYSQL_ROOT_PASSWORD=root
:设置环境变量,此处为在启动MySQL
的时候设置密码为root
-d
: 后台运行容器,并返回容器ID
mysql
:使用的Docker
镜像
查看MySQL的日志
可通过如下命令:
$ docker logs mysql
连接MySQL服务器
可通过如下命令:
$ docker exec -it mysqlTest mysql -u root -p
如果出现以下报错
the input device is not a TTY. If you are using mintty, try prefixing th
e command with 'winpty'
则在上面命令前加上winpty
,即使用命令:
$ winpty docker exec -it mysqlTest mysql -u root -p
提示输入密码的时候,输入刚刚创建的时候指定的密码。
可通过$ ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
修改密码。