暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

11-docker系列-docker之compose安装和相关命令

运维家 2022-02-18
251

声明:本文乃“运维家”原创,转载请注明出处,更多内容请关注公众号“运维家”。


主旨

有没有想过如果docker容器越来越多呢?几十上百呢?我们如果单纯靠命令来操作,有点儿不太现实,咱们这边就简单的来介绍一个compose的方式,使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具。

环境
    linux环境
    docker环境

    安装compose
      [yunweijia@localhost ~]$ sudo yum -y install epel-release
      [yunweijia@localhost ~]$ sudo yum makecache
      [yunweijia@localhost ~]$ sudo yum install python-pip -y
      [yunweijia@localhost ~]$ sudo pip install docker-compose
      # 如果报错了,那么我们执行下
      [yunweijia@localhost ~]$ sudo pip install --upgrade pip
      # 如果还报错,那么我们执行如下,下面这条命令记得根据你实际情况来,错误信息都会有提示,注意看下
      [yunweijia@localhost ~]$ sudo usr/local/python3/bin/python3.7 -m pip install --upgrade pip
      此时我们再次运行即可:
      [yunweijia@localhost ~]$ sudo pip install docker-compose

      查看安装的版本:

        [yunweijia@localhost ~]$ sudo docker-compose version
        docker-compose version 1.29.2, build unknown
        docker-py version: 5.0.3
        CPython version: 3.7.1
        OpenSSL version: OpenSSL 1.0.2k-fips 26 Jan 2017
        [yunweijia@localhost ~]$


            修改sudo的环境变量:

            PS:如果你本来就是root用户,则不需要此步骤。

          [yunweijia@localhost nginx]$ sudo which docker-compose
          /usr/local/python3/bin/docker-compose
          [yunweijia@localhost nginx]$ sudo vim etc/sudoers
          # 下面这行最后以冒号分隔开,然后t添加上自己上一条命令查出来的地址
          Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin
          # 输入 :wq! 退出
          [yunweijia@localhost nginx]$



          配置文件

              docker-compose可以有多个配置文件,因为当你使用compose执行命令的时候,默认读取的是当前目录中的“docker-compose.yml”文件,当然了,你也可以使用 -f 单独指定,这样子我们也可以根据我们实际情况写出来好几个compose的配置文件,也就相当于某几个容器特制成同一批。


          docker-compose常用命令

          这里当然不止这几个命令,但是这几个是常用的,具体的还是要看官网介绍。
            # 后台启动容器
            docker-compose up -d


            # 列出所有运行容器
            docker-compose ps


            # 查看服务日志输出
            docker-compose logs


            # 启动指定服务已存在的容器
            docker-compose start


            # 停止已运行的容器
            docker-compose stop


            # 构建或者重新构建服务
            docker-compose build


            # 打印绑定的公共端口,下面命令可以输出 nginx 服务 80 端口所绑定的公共端口
            docker-compose port nginx 80


            # 删除指定服务的容器
            docker-compose rm


            # 通过发送 SIGKILL 信号来停止指定服务的容器
            docker-compose kill


            # 在一个服务上执行一个命令
            docker-compose run web bash



            compose简单操作容器

              语法:
              docker-compose up -d # 后台启动容器
                docker-compose ps  # 查看容器
                docker-compose stop # 停止容器
              [yunweijia@localhost ~]$ mkdir -pv docker/compose/nginx
              mkdir: 已创建目录 "docker/compose"
              mkdir: 已创建目录 "docker/compose/nginx"
              [yunweijia@localhost ~]$ cd docker/compose/nginx/
              [yunweijia@localhost nginx]$ pwd
              /home/yunweijia/docker/compose/nginx
              [yunweijia@localhost nginx]$
              [yunweijia@localhost nginx]$ touch docker-compose.yml
              [yunweijia@localhost nginx]$ vim docker-compose.yml 
              version: "2"
              services:
              nginx:
              image: nginx
              [yunweijia@localhost nginx]$ sudo docker-compose up -d
              Creating network "nginx_default" with the default driver
              Creating nginx_nginx_1 ... done
              [yunweijia@localhost nginx]$ sudo docker-compose ps
              Name Command State Ports
              ---------------------------------------------------------------
              nginx_nginx_1 docker-entrypoint.sh ngin ... Up 80/tcp
              [yunweijia@localhost nginx]$


              本文完,下一篇我们将介绍下docker-compose文件里面参数如何进行配置,以及运行几个实例进行全方位讲解。


              文章转载自运维家,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

              评论