docker加docker compose实现软件快速安装启动
docker
下载镜像官网页面:https://hub.docker.com/
docker是什么?
加速应用构建、分享、运行
docker命令
镜像操作
容器操作
docker ps:查看运行中的容器
docker ps -a: 查看所有容器,包括停止的
除了docker run和docker exec两个命令其余执行最后都要加id
docker run:
-d 后台启动
--name 给容器取一个名字
-p 端口映射(外网访问容器内部)
保存镜像


分享社区
docker compose
是docker提供的 批量 管理容器的方式
docker compose安装mysq、kafka、zookepeer
参考文档
使用docker-compose 部署 MySQL(所有版本通用)_docker compose mysql-CSDN博客
编写docker-compose.yml
使用 vim docker-compose.yml 将以下数据添加进去
version: '3'
services:
mysql:
image: mysql:5.7
container_name: mysql5
environment:
- MYSQL_ROOT_PASSWORD=lyt123456@
volumes:
- /home/docker/mysql8/log:/var/log/mysql
- /home/docker/mysql8/data:/var/lib/mysql
- /home/docker/mysql8/conf.d:/etc/mysql/conf.d
- /etc/localtime:/etc/localtime:ro
ports:
- 3306:3306
restart: always
zookeeper:
image: zookeeper:3.4.14
container_name: zookeeper
ports:
- "2181:2181"
volumes:
- ./zookeeper/data:/data
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=zookeeper:2888:3888
kafka:
image: wurstmeister/kafka:2.13-2.8.1
container_name: kafka
ports:
- "9092:9092"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://47.108.199.244:9092 # 替换为实际IP:cite[8]:cite[6]
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true' # 自动创建Topic:cite[8]
volumes:
- /var/run/docker.sock:/var/run/docker.sock # 容器管理权限:cite[7]
- ./kafka/logs:/kafka
depends_on:
- zookeeper
补充
防火墙开启端口访问权限
docker pull拉取失败使用阿里镜像
获取阿里云镜像加速器地址:
-
登录 阿里云容器镜像服务控制台
-
左侧菜单选择「镜像工具」→「镜像加速器」
-
复制专属加速器地址(需阿里云账号)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://[你的镜像地址].aliyuncs.com"]
}
EOF
启动
docker-compose -f docker-compose.yml up -d
查看
docker ps