更新:
一:Docker的工作原理(示意图)
二:docker compose常用命令
docker compose pull
: 拉取服务的最新镜像。docker compose up
: 启动容器服务,如果docker-compose.yml
文件不存在,则会报错。docker compose up -d
: 后台运行容器服务。docker compose down
: 停止并移除容器服务。docker compose stop
: 停止服务但不删除容器。docker compose start
: 启动服务。docker compose restart
: 重启容器服务。docker compose ps
: 查看容器服务的运行状态。docker compose logs
: 查看容器服务的日志。docker compose exec <service_name> <command>
: 在指定的服务容器中执行命令。docker compose build
: 构建或重新构建服务。
三:Docker以及Docker Compose的安装教程
官方安装教程:https://docs.docker.com/engine/install/debian/
1.境外服务器
安装Docker
wget -qO- get.docker.com | bash
docker -v #查看 docker 版本
systemctl enable docker # 设置开机自动启动
安装Docker compose
安装最新版本: 使用以下命令下载并安装最新版本的 Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
赋予执行权限: 赋予新安装的 Docker Compose 执行权限:
sudo chmod +x /usr/local/bin/docker-compose
验证安装: 验证新版本是否安装成功:
docker-compose --version #查看 docker-compose 版本
2.国内服务器
安装Docker
curl -sSL https://get.daocloud.io/docker | sh
docker -v #查看 docker 版本
systemctl enable docker # 设置开机自动启动
安装Docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.1.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version #查看 docker-compose 版本
常见问题 FAQ
在 Docker Compose YAML 文件中使用 $(pwd)/data
和 ./data
的原因如下:
$(pwd)/data
:
- 优点:
- 绝对路径,因此即使您更改工作目录,它仍然有效。
- 更具可读性和简洁性。
- 缺点:
- 对于其他用户或在不同环境中运行 Compose 文件的人来说可能更难理解。
./data
:
- 优点:
- 相对路径,因此更容易理解和修改。
- 在大多数情况下,它与
$(pwd)/data
相同。
- 缺点:
- 如果您更改工作目录,则路径可能无效。
- 对于在不同环境中运行 Compose 文件的人来说可能更难理解。
选择哪一个?
选择使用 $(pwd)/data
还是 ./data
取决于具体情况和个人偏好。
一般来说,建议使用 $(pwd)/data
,因为它更具可读性、简洁性和可靠性。
但是,如果您需要在 Compose 文件中使用相对路径,或者您认为 ./data
更适合您的特定情况,那么使用 ./data
也是可以接受的。
GitHub 项目中的差异
至于为什么某些 GitHub 项目的 Docker Compose YAML 文件使用 $(pwd)/data
而另一些项目使用 ./data
,这可能是由于以下原因:
- 作者的偏好:作者可能更喜欢一种方法而不是另一种方法。
- 项目的特定要求:项目可能需要使用相对路径或绝对路径。
- 历史原因:该项目可能是在
$(pwd)/data
或./data
成为首选之前创建的。
结论
最终,选择使用 $(pwd)/data
还是 ./data
取决于具体情况和个人偏好。两种方法都有其优点和缺点,在大多数情况下,它们是等效的。
在安装目录下
1.根据本地的compose版本,执行 docker compose down
或者 docker-compose down
停止容器
2.动手删除目录,或输入命令 rm -rf 目录
彻底清楚安装目录不留痕迹
3.手动删除镜像
以为halo为例子:
cd /halo #进入halo的目录
docker-compose down #停止并清除容器
cd ..
rm -rf /halo #格式:rm -rf 映射出来的路径(完全删除映射到本地的数据,可以卸载得很干净。)