docker 光速入门-- 2. docker-compose & bash aliases

docker-compse

什么是docker-compose 它是由python 编写的, 前身是fig,通过yaml 配置文件管理多个docker 容器的命令行工具。当我们运行一个项目时,会有多个docker 容器互相配合完成的。比如 LNMP 环境,一般一个docker容器运行一个程序,(可以将docker 容器理解为单独的进程) ,这时候如果用docker 命令一个一个去管理会显得非常麻烦,这时候就体现出docker-compse的好处了

安装

我的环境是 VMware + centos7 , docker-compose 是python写得,是通过pip安装的, centos 7 默认不带pip,首先我们安装pip

安装pip

1. 添加epel 源

$ sudo yum install python-pip

 

2. 安装pip

$ sudo yum install python-pip
$ docker-compose  --version
docker-compose version 1.23.2, build 1110ad0

至此docker-compose 安装好了。其他方法参考 install docker-compose

docker-compose bash alias

当我们在使用docker-compose 时 每次都要敲那么长的命令,很烦。至此小弟在github 上找了段jio本,可能需要梯子@jodumontjodumont/bash_aliases-docker-compose

  1. curl -ko $HOME/.bash_aliases-docker-compose https://gist.githubusercontent.com/jodumont/d8ade3ab173700e3369f04fbe0334fde/raw/ced78642a5682e7ec6ee7fc89367b929ef35f366/bash_aliases-docker-compose
  2. echo -e "\nif [ -f ~/.bash_aliases-docker-compose ]; then \n. ~/.bash_aliases-docker-compose\nfi" >> $HOME/.bashrc
  3. . $HOME/.bashrc

词汇表

  • dcu == Docker-Compose Up
  • dcl == Docker-Compose Logs
  • dcs == Docker-Compose Stop
  • dcsr == Docker-Compose Stop & Remove
  • dcsr == Docker-Compose Stop, Remove & Up

也可以将此段代码复制到 .bash_aliases-docker-compose

docker-compose aliases
## How to install/use it
### 1. $ curl -ko $HOME/.bash_aliases-docker-compose https://gist.githubusercontent.com/jodumont/[...]/bash_aliases-docker-compose
### 2. $ echo -e "\nif [ -f ~/.bash_aliases-docker-compose ]; then \n. ~/.bash_aliases-docker-compose\nfi" >> $HOME/.bashrc
### 3. $ . $HOME/.bashrc

## dcu == Docker-Compose Up
alias dcu="docker-compose up -d --remove-orphans"

## dcl == Docker-Compose Logs
alias dcl="docker-compose logs"

## dcs == Docker-Compose Stop
### Else like : dcs discovery # which is the name of a container inside this composition
function dcs {
  if [ -z "$1" ]; then
    docker-compose stop
  else
    for n in $@
      do
        docker-compose stop "$n"
      done
  fi
}

## dcsr == Docker-Compose Stop & Remove
alias dcsr="docker-compose stop && yes|docker-compose rm"

## dcsr == Docker-Compose Stop, Remove & Up
alias dcsru="docker-compose stop && yes|docker-compose rm && docker-compose up -d --remove-orphans"

有兴趣的自己研究吧

<think>好的,我现在要帮用户解决如何使用docker-compose -f指令启动指定的docker-compose-energy.yml文件中的服务。首先,我需要回忆一下docker-compose的基本命令结构。 用户提到了使用-f选项,所以根据Docker Compose的文档,-f是用来指定自定义的compose文件的。默认情况下,docker-compose会找当前目录下的docker-compose.yml文件,但如果用户有自己的文件,比如这里的docker-compose-energy.yml,就需要用-f来指定。 接下来,我需要确认正确的命令格式。基本结构应该是docker-compose -f [文件名] up,然后可能需要加上其他选项,比如-d在后台运行。所以基础命令可能是docker-compose -f docker-compose-energy.yml up -d。这样就能启动服务并在后台运行。 然后,我需要考虑用户可能的后续需求,比如如何停止服务。这时候应该用docker-compose -f 文件名 down。还有查看日志的命令,比如docker-compose -f 文件名 logs -f。这些都是常见的使用场景,应该包含在回答里,方便用户后续操作。 另外,用户可能对docker-compose.yml文件的结构不太熟悉,或者需要检查配置是否正确。可能需要提醒他们在启动前验证文件格式是否正确,可以使用docker-compose config命令。不过用户的问题主要是启动,所以这部分可以作为补充信息。 还要注意,如果用户的环境中有多个compose文件,可能需要合并或者其他操作,但根据问题描述,用户只需要启动一个特定的文件,所以暂时不需要涉及多文件的情况。 最后,确保回答的结构清晰,先给出基础启动命令,然后列出常用操作,这样用户能一步步跟着操作。同时引用相关文档部分,比如引用中的docker-compose up -d和docker-compose down,来增强可信度。</think>根据Docker Compose的使用规范,启动指定YAML文件的服务需使用`-f`参数指定配置文件路径,具体操作步骤如下: **基础启动命令** ```bash docker-compose -f docker-compose-energy.yml up -d ``` **参数说明** - `-f`:指定自定义的Compose文件路径 - `up`:创建并启动服务容器 - `-d`:以守护进程模式(后台运行) **常用扩展操作** 1. **停止并删除服务** ```bash docker-compose -f docker-compose-energy.yml down ``` 该命令会停止容器并移除网络/数据卷(除非配置了持久化卷)[^2] 2. **查看实时日志** ```bash docker-compose -f docker-compose-energy.yml logs -f ``` 3. **重建镜像并启动** ```bash docker-compose -f docker-compose-energy.yml up -d --build ``` 当修改了Dockerfile或依赖文件后需要重建镜像时使用[^3] 4. **仅验证配置文件** ```bash docker-compose -f docker-compose-energy.yml config ``` 用于检查YAML文件语法正确性,验证通过无输出[^2] **注意事项** 1. 文件路径支持相对路径和绝对路径,例如: ```bash docker-compose -f ./config/docker-compose-energy.yml up -d ``` 2. 如果文件中包含`build`指令,会优先使用本地构建的镜像而非仓库镜像[^3] 3. 端口映射冲突时会出现错误提示,需检查`ports`配置项是否与其他服务冲突[^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值