所有文章

如何安装Docker & Docker Compose

calendar-logo
calendar-logo

5 min read

文章介绍了 Docker 的工作原理示意图,列举了 docker compose 常用命令,给出境外及国内服务器上 Docker 及 Docker Compose 的安装教程,还解答了 Github 项目中 docker compose.yml 路径使用差异的常见问题及说明了卸载 docker 项目的方法。

97895.webp

一:Docker的工作原理(示意图)

eejhz-yktl5_副本3.gif

二: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> : 在指定的服务容器中执行命令。 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

为什么在Github项目的docker compose.yml中,有的用$(pwd)/data,有的用./data?

在 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 取决于具体情况和个人偏好。两种方法都有其优点和缺点,在大多数情况下,它们是等效的。

如何卸载docker 项目?

在安装目录下

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 映射出来的路径(完全删除映射到本地的数据,可以卸载得很干净。)