docker实战学习2022版本(八)之compose容器编排和轻量级可视化工具Portainer

Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启动/关闭这些容器

能干什么?

 docker建议我们每一个容器中只运行一个服务,因为docker容器本身占用资源极少,所以最好是将每个服务单独的分割开来但是这样我们又面临了一个问题?

如果我需要同时部署好多个服务,难道要每个服务单独写Dockerfile然后在构建镜像,构建容器,这样累都累死了,所以docker官方给我们提供了docker-compose多服务部署的工具

例如要实现一个Web微服务项目,除了Web服务容器本身,往往还需要再加上后端的数据库mysql服务容器,redis服务器,注册中心eureka,甚至还包括负载均衡容器等等。。。。。。

Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。

可以很容易地用一个配置文件定义一个多容器的应用,然后使用一条指令安装这个应用的所有依赖,完成构建。Docker-Compose 解决了容器与容器之间如何管理编排的问题。

compose官网地址:https://docs.docker.com/compose/compose-file/compose-file-v3/

官网下载地址:https://docs.docker.com/compose/install/

安装步骤:

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


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



docker-compose --version

 卸载步骤:

rm /usr/local/bin/docker-compose

compose核心概念:一个文件两个要素

一个文件:docker-compose.yml

两要素:服务、工程

  • 服务:一个个应用容器实例,比如订单微服务、库存微服务、mysql容器、nginx容器等
  • 工程:由一组关联的应用容器组成的一个完整业务单元,在docker-compose.yml文件中定义

compose使用的三个步骤:

  • 编写Dockerfile定义各个微服务应用并构建出对应的镜像文件
  • 使用docker-compose.yml定义一个完整的业务单元,安排好整体应用中的各个容器服务
  • 最后执行docker-compose up 命令来启动并运行整个应用程序,完成一键部署上线

compose常用命令:

  • docker-compose -h             # 查看帮助
  • docker-compose up            # 启动所有docker-compose服务
  • docker-compose up -d        # 启动所有docker-compose服务并后台运行
  • docker-compose down        # 停止并删除容器、网络、卷、镜像。
  • docker-compose exec  yml里面的服务id          # 进入容器实例内部  docker-compose exec docker-compose.yml文件中写的服务id /bin/bash
  • docker-compose ps              # 展示当前docker-compose编排过的运行的所有容器
  • docker-compose top             # 展示当前docker-compose编排过的容器进程
  • docker-compose logs  yml里面的服务id     # 查看容器输出日志
  • docker-compose config          # 检查配置
  • docker-compose config -q       # 检查配置,有问题才有输出
  • docker-compose restart          # 重启服务
  • docker-compose start             # 启动服务
  • docker-compose stop             # 停止服务

 Portainer:

        portainer是一款轻量级的应用,它提供了图形化界面,用于方便管理docker环境,包括单机环境和集群环境。

官网:https://www.portainer.io/

安装步骤:https://www.portainer.io/v/ce-2.9/start/install/server/docker/linux

docker命令安装:


docker run -d -p 8000:8000 -p 9000:9000 --name portainer     --restart=always     -v /var/run/docker.sock:/var/run/docker.sock     -v portainer_data:/data     portainer/portainer

 然后浏览器访问:ip:9000 ,第一次登录需要创建admin

 设置密码后登录,选择local选项卡后本地docker详细信息展示:(为什么选择local,因为我们的portainer和我们的docker都在同一台linux服务器上)

 

 portainer常规操作:

图形化安装nginx:

 

 success之后就可以看到新的容器了:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是关于轻量级虚拟化Docker容器实战实验总结: Docker是一种轻量级虚拟化技术,可以帮助我们构建、发布和运行分布式应用程序。以下是一些实验,可以帮助您了解Docker容器的基本操作和使用。 实验1:安装Docker 首先,为了使用Docker,您需要安装Docker引擎。对于Ubuntu系统,可以使用以下命令安装Docker: ``` sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io ``` 安装完成后,您可以使用以下命令检查Docker是否正确安装: ``` sudo docker run hello-world ``` 如果Docker成功安装,将输出“Hello from Docker!”消息。 实验2:创建和运行Docker容器 接下来,让我们创建并运行一个简单的Docker容器。首先,我们将创建一个Docker镜像,该镜像将在其中运行一个Python应用程序。 1. 创建一个名为“Dockerfile”的文件,并将以下内容添加到其中: ``` FROM python:3 ADD your_script.py / CMD [ "python", "./your_script.py" ] ``` 2. 然后,使用以下命令构建该镜像: ``` sudo docker build -t my-python-app . ``` 3. 构建完成后,使用以下命令运行该容器: ``` sudo docker run my-python-app ``` 这将在容器中运行您的Python应用程序。 实验3:使用Docker Compose编排多个容器 Docker Compose是一种工具,可帮助您编排多个Docker容器。以下是一些基本操作,可以帮助您开始使用Docker Compose。 1. 创建一个名为“docker-compose.yml”的文件,并将以下内容添加到其中: ``` version: '3' services: web: build: . ports: - "5000:5000" redis: image: "redis:alpine" ``` 2. 然后,使用以下命令启动该服务: ``` sudo docker-compose up ``` 这将启动两个容器:一个Python Web应用程序和一个Redis实例。您可以通过访问“localhost:5000”来访问Web应用程序。 实验4:使用Docker Swarm进行集群管理 Docker Swarm是一种工具,可帮助您管理多个Docker节点并将它们组合成一个集群。以下是一些操作,可以帮助您开始使用Docker Swarm。 1. 初始化Swarm: ``` sudo docker swarm init ``` 2. 将其他节点添加到Swarm: ``` sudo docker swarm join --token <token> <ip_address>:<port> ``` 3. 创建一个服务: ``` sudo docker service create --replicas 3 my-python-app ``` 这将在Swarm中创建一个名为“my-python-app”的服务,并创建3个副本。Docker Swarm将自动在集群中的不同节点上运行这些副本。 总结 以上是一些基本的Docker容器实验,可以帮助您了解和使用DockerDocker具有很多功能,可以帮助您构建、发布和运行分布式应用程序。希望这些实验对您有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酒书

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值