Docker与Docker-Compose基本介绍
1.Docker是什么?
Docker是一种开源的容器化平台,可以将应用程序及其依赖项打包成一个独立的容器,以便在不同的环境中运行。它通过使用容器技术,将应用程序与底层系统隔离开来,从而实现了更高效、更可靠的应用部署和管理。
2.Docker-Compose是什么?
Docker Compose是Docker官方提供的一个工具,用于定义和运行多个Docker容器的应用。它使用YAML文件来配置应用的服务、网络和存储等方面的设置,可以方便地管理复杂的多容器应用。
3.Docker和Docker-Compose的区别
Docker和Docker-Compose都是用于容器化应用的工具,但它们的功能和使用场景有所不同。
- Docker主要用于创建、运行和管理单个容器。它可以将应用程序及其依赖项打包成一个独立的容器,并提供了一套命令行工具来管理容器的生命周期。Docker可以在不同的操作系统和云平台上运行,提供了一致的开发和部署环境。
- Docker-Compose则更适用于管理多个容器的应用。它可以通过一个YAML文件来定义应用的各个服务,并提供了一套命令行工具来启动、停止和管理这些服务。Docker Compose可以方便地管理复杂的多容器应用,例如Web应用中的前端、后端、数据库等组件。
一个案例说明两者的用法:
docker run -itd --name nginx -p 80:8080 --restart=always nginx
docker run -itd --name mysql -e MYSQL_ROOT_PASSWORD=123123 -P 3306:3306 --restart=always mysql
docker run -itd --name redis -P 6237:6237 --restart=always redis
以上docker转化为docker-compose就是:
version: '3'
services:
nginx:
image: nginx
container_name: nginx
ports:
- "80:8080"
restart: always
mysql:
image: mysql
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: "123123"
ports:
- "3306:3306"
restart: always
redis:
image: redis
container_name: redis
ports:
- "6237:6237"
restart: always
docker up -d
通过这个案例大家应该都能理解。
安装
在Linux上安装Docker和Docker-Compose:
# 安装 Docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl enable --now docker
# 安装 docker-compose
curl -L https://github.com/docker/compose/releases/download/2.20.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# 验证安装
docker -v
docker-compose -v
# 如失效,请后台留言更新~
在macOS上安装Docker和docker-compose:
brew install orbstack
在windwos上安装Docker和docker-compose:
建议安装docker-desktop桌面应用。
下载地址:https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe