Docker Compose学习笔记

Docker Compose用来做什么?

Docker Compose 是Docker官方的开源项目。

Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application's services. Then, with a single command, you create and start all the services from your configuration.

使用Compose,我们只需要配置好配置文件(YAML文件),一条命令就可以启动我们想要的多个窗口容器应用。

我的理解,简单说就是不用每次一个一个去输入参数和命令,一个一个启动容器,而只要将配置配好后,一条命令就可以实现我们想要启动/停止多个容器(带配置)的工作。

Docker Compose需要另外安装。

Docker compose使用三步骤

  1. 编写Dockerfile
  2. 编写compose.yaml
  3. 在compose.yaml所在的目录上输入命令docker compose up
    当然,过程中需要准备好compose.yaml中所用到的文件。

安装和查看版本

bash 复制代码
curl -SL https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose
# -S选项表示在下载过程中保持连接,-L选项表示如果服务器返回重定向,则自动跟随重定向。
#由于网络原因,我是直接从电脑上下下来,改名再移到centos对应的目录中。

#使文件可以执行
[root@localhost cli-plugins]# ./docker-compose
-bash: ./docker-compose: 权限不够
[root@localhost cli-plugins]# ll
总用量 58232
-rw-r--r--. 1 root root 59628532 11月  2 22:09 docker-compose
[root@localhost cli-plugins]# chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
[root@localhost cli-plugins]# ll
总用量 58232
-rwxr-xr-x. 1 root root 59628532 11月  2 22:09 docker-compose
[root@localhost cli-plugins]# 

#查看版本
[root@localhost cli-plugins]# ./docker-compose --version
Docker Compose version v2.23.0
[root@localhost cli-plugins]# docker-compose --version

ln -s /usr/local/lib/docker/cli-plugins/docker-compose /usr/bin/docker-compose

#加上软连接
[root@localhost docker]# docker-compose --version
bash: docker-compose: 未找到命令...
[root@localhost docker]# ln -s /usr/local/lib/docker/cli-plugins/docker-compose /usr/bin/docker-compose
[root@localhost docker]# cd /usr/bin
[root@localhost bin]# ls doc*
docker  docker-compose  dockerd  dockerd-rootless-setuptool.sh  dockerd-rootless.sh  docker-proxy
[root@localhost bin]# cd /
[root@localhost /]# docker-compose --version
Docker Compose version v2.23.0
[root@localhost /]# 

常用命令

bash 复制代码
#
# 运行当前目录下的copmpose.yaml
[root@localhost composetest]# docker compose up

#以后台形式运行当前目录下的copmpose.yaml
[root@localhost composetest]# docker compose up -d

#停止一个docker compose项目
[root@localhost composetest]# docker-compose down
[+] Running 3/3
 ✔ Container composetest-redis-1  Removed                                                                                                                                                    0.4s 
 ✔ Container composetest-web-1    Removed                                                                                                                                                   10.5s 
 ✔ Network composetest_default    Removed                                                                                                                                                    0.5s 
[root@localhost composetest]#
# 这个操作的结果是:下载和创建的镜像还在,容器停止并被清除。

#但是如果没有执行docker-compose down命令而直接重启主机或者重启docker服务后,镜像和容器会被保留下来,包括里面的正在运行的redis记录。
# 如果想每次重启自动运行,那在compose.yaml上的服务下面,加上restart: always,这样每次docker重启,就会自动运行容器而无需手动再启动。


# 查看网络ID列表
[root@localhost ~]# docker network ls
# 检查具体某个网络
[root@localhost ~]# docker network inspect f8c18a80a81a
相关推荐
baijin_cha5 分钟前
机器学习基础04_朴素贝叶斯分类&决策树分类
笔记·决策树·机器学习·分类
Allen zhu7 分钟前
【PowerHarmony】电鸿蒙学习记录-准备工作
学习·华为·harmonyos
x2lab11 分钟前
国产化 ARM 环境mysql-mariadb 部署
arm开发·mysql·docker·mariadb
华清远见成都中心21 分钟前
物联网学习路线来啦!
物联网·学习
hgy896929 分钟前
Ekman理论回归
学习
波克比QWQ31 分钟前
rust逆向初探
笔记·rust逆向
LuckyLay34 分钟前
Spring学习笔记_36——@RequestMapping
java·spring boot·笔记·spring·mapping
坚硬果壳_1 小时前
《硬件架构的艺术》笔记(一):亚稳态
笔记·学习
糊涂君-Q1 小时前
Python小白学习教程从入门到入坑------第三十一课 迭代器(语法进阶)
python·学习·程序人生·考研·职场和发展·学习方法·改行学it
qiyi.sky1 小时前
JavaWeb——Web入门(8/9)- Tomcat:基本使用(下载与安装、目录结构介绍、启动与关闭、可能出现的问题及解决方案、总结)
java·前端·笔记·学习·tomcat