Docker Compose 安装及常用命令整理
条评论简单介绍
Docker可以容器化部署一些应用,将单个应用程序及其依赖项封装成容器,环境互相隔离互不影响,也方便对其进行升级和数据迁移。在VPS搭建应用中是一个很常见的技术。
Docker Compose是用于定义和运行多容器Docker 应用程序的工具,可以通过配置docker-compose.yml文件一次性运行多个不同镜像的容器。
相关链接
参考教程:
官方文档 Install Docker Engine on Debian | Docker Docs
扩展阅读:
Docker在线入门教程《Docker 从入门到实践》
Docker 日常命令大全(完整详细版)_docker命令-CSDN博客
docker-compose 常用命令(附 docker-compose 的安装教程)
Docker 安装流程
基本准备
安装/更新必备的软件
1 | apt update -y && apt install -y wget vim curl lsof sudo |
环境要求&环境查看
我这里用的是Debian11,也可以用其他系统,具体要求可以查看官方文档。
1 |
|
1 | # 系统内核 5.10.0-27-amd64 |
开始安装
百度搜Docker,点击Docs
,点击Get Docker进入帮助文档,左侧导航栏选择Docker Engine->Install->
Debian
由于Linux发行版的Docker的apt库可能比较旧,这里我们通过阅读官方文档按步骤来安装Docker最新版本。
1.卸载旧版本
如果是第一次安装Docker,这一步可跳过。
1.1.卸载非官方和冲突软件包
1 | for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done |
1.2.卸载依赖(Uninstall the Docker Engine, CLI, containerd, and Docker Compose packages):
1 | apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras |
1.3.删除文件资源(Delete all images, containers, and volumes which aren’t automatically removed)
1 | # /var/lib/docker 是Docker的默认工作路径 |
2.下载 Install using the apt repository
2.1 Set up Docker’s repository.apt
1 | # Add Docker's official GPG key: |
2.2 Install the Docker packages
1 | sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin |
补充:docker-compose V1版本已停止更新。现在的Docker安装命令自带上了docker-compose-plugin插件,可以不用再单独安装。但是指令和单独装的docker-compose不同,现在 docker compose
中间没有 -
2.3 Verify that the installation is successful by running the image:hello-world
1 | # 启动Docker |
3.Upgrade Docker Engine
需要时再说,看官方文档。
Docker 相关知识
运行hello-world
镜像可以看到以下信息:
这段信息表示无法从本地找到hello-world:latest镜像,所以从Docker Hub中拉取了最新的hello-world镜像,并输出了一些相关信息。
Docker执行的流程是:
Docker 客户端联系了 Docker 守护进程。
Docker 守护进程从 Docker Hub 拉取了 hello-world 镜像(amd64)。
Docker 守护进程从该镜像创建了一个新的容器,该容器运行了生成当前输出的可执行文件。
Docker 守护进程将该输出流传送到 Docker 客户端,然后由客户端发送到您的终端。
查看一下镜像
1 | root@iZ7xvcu671mq0lrlzj6sbqZ:~# docker images |
run的运行流程:
docker0:
docker0
是 Docker 默认的桥接网络接口。当你安装 Docker 并启动容器时,Docker 会创建一个名为 docker0
的 Linux bridge,所有的 Docker 容器都会连接到这个 bridge 上。
如果你想要查看 docker0
的配置和状态,可以使用以下命令:
1 | # 查看 docker0 接口的配置 |
通过该指令可以得到Docker内部默认网关:172.17.0.1,这在配置NPM反代的时候会用到。如果是反代与NPM同一台VPS的Docker,则IP可填172.17.0.1或VPS的IP。
Docker 常用命令
参考:Docker 日常命令大全(完整详细版)_docker命令-CSDN博客
查看Docker状态:sudo systemctl status docker
启动Docker:sudo systemctl start docker
开启开机自动启动:sudo systemctl enable docker
关闭开机自动启动:sudo systemctl disable docker
查看docker占用内存情况:docker stats
列出当前docker:docker ps -l
docker image prune
:prune 命令用来删除不再使用的 docker 镜像(一般用来删旧镜像)。删除所有未被 tag 标记和未被容器使用的镜像
Docker Compose 常用命令
参考:docker-compose 常用命令(附 docker-compose 的安装教程)
建议:专门给 Docker 的数据、配置文件新建一个文件夹。在这里面通过 docker-compose.yml 配置文件来安装或修改docker。
1 | sudo -i |
要使用docker compose,需要先进入包含docker-compose.yml文件的根目录,只对该文件内的docker-compose.yml进行操作。
docker compose up -d
:根据 docker-compose.yml 配置文件创建并运行多个容器协同工作,-d 为在后台运行容器
docker compose ps
:显示与当前 docker-compose.yml 文件相关联的容器的信息,-a 为显示包括已停止的容器
docker compose stop
:停止正在运行的容器
docker compose start
:启动容器
docker compose restart
:重启容器
docker compose exec [docker_name] [command]
:用于与在运行中的某个容器进行交互,在其内部执行命令
docker compose pull
:拉取服务依赖的镜像。一般用于更新Docker
docker compose down
:停止并移除由 docker-compose.yml 创建的容器、网络和卷。一般用于卸载Docker
更新Docker(通常情况):
1 | cd /root/data/docker_data/xxxx |
卸载Docker(通常情况):
1 | cd /root/data/docker_data/xxxx |
本文标题:Docker Compose 安装及常用命令整理
文章作者:德德
发布时间:2024-06-14
最后更新:2024-06-14
原始链接:https://lumengde123.github.io/posts/6173.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!