快速掌握docker-compose容器管理快速上手

Docker Compose 概述与安装?

  • 前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知
  • 使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具

一、安装docker compose :

同样我们可以通过官方文档指引来完成安装docker compose :(官方地址:Install Docker Compose | Docker Documentation)

1.直接执行这行命令下载当前最新稳定版本的docker compose :

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2.修改文件权限,赋可执行权限:

sudo chmod +x /usr/local/bin/docker-compose

3.这步是可行的,把文件软链到 /usr/bin/目录下面:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

4.查看docker compose 版本:

docker-compose --version

到这里,docker compose 算是已经安装完成了,接下来可以直接用docker-compose 来管理docker 容器了。

docker 的镜像源我们可以选官方的、阿里的和清华大学的:

清华大学源
yum-config-manager \
    --add-repo \
    https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

阿里云
$ sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

使用官方源地址(比较慢)
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

1.编写docker-compose yml (如果对YAML语法不熟悉的同学,可以自行学习)

version: '3'
services:
  web:
        image: nginx:1.20.2  (选取的镜像)
        container_name: nginx   (容器的名称)
        ports:  (端口映射到宿主机)
           - "8099:80"
        volumes:(目录映射到宿主机)
           - /home/ubuntu/docker/nginx/html/:/usr/share/nginx
           - /home/ubuntu/docker/nginx/conf.d:/etc/nginx/conf.d
        links: (映射ip记录到当前容器中)
           - php
        depends_on: 
           - php
  mysql:
        image: mysql:5.7
        container_name: mysql
        ports:
           - "3307:3306"  (此处可以不映射出来)
        environment:(设置环境变量)
          MYSQL_ROOT_PASSWORD: (要设置的密码)
  redis:
        image: redis
        container_name: redis
  php:
        image: php:8.0-fpm
        container_name: php8
        links:
           - redis
           - mysql
        depends_on: 
           - redis

执行docker-compose up -d (-d表示在后台运行)

docker-compose ps 查看可以看到所有容器都启动了。

重启所有容器:

docker-compose restart

启动所有容器:

docker-compose start

停止所有容器:

docker-compose stop

也可对单个容器进行管理:

docker-compose stop nginx 停止 nginx容器

以上编写的docker-compose.yml是直接拉取镜像来启动容器,我们也可以通过使用dockerfile来启动:

首先来编写一个dockerfile, 放在当前目录下的tmp目录里面:

FROM php:8.0-fpm

ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/

RUN chmod +x /usr/local/bin/install-php-extensions && \
    install-php-extensions gd xdebug redis mongodb

接下来编写docker-compose.yml

version: '3'
services:
  php:
        build:
           context: ./tmp
           dockerfile: dockerfile
        container_name: php8

现在来直接执行docker-compose up -d

也可以达到同样的效果,且能过dockerfile来启动容器,可以让我们在编写dockerfile时,提前做好一些对容器的操作,如安装一些扩展,安装必要的程序等。

好了,这期我们就先分享到这里,大家如果喜欢我们的话,请点击收藏哦,下期我们将介绍现在市场上最热门的技术之一K8S(kubernets)容器云技术方案。

如果你喜欢我们的文章,欢迎关注我们的微信公众号,及时收到我们最新的技术文章

回复关键字还可以获取更多技术学习内容哦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值