首页 > 系统相关 >centos7+docker dock-compose使用

centos7+docker dock-compose使用

时间:2024-12-04 16:22:59浏览次数:4  
标签:容器 compose centos7 dock Compose mysql docker Docker

简介

Docker-Compose是Docker官方的开源项目,用于实现Docker容器集群的快速编排。

Compose简介

Compose是用于定义和运行多容器 Docker 应用程序的工具,通过Compose,可以使用YML文件来配置应用程序所需要的所有服务。然后,使用一个命令,就可以从YML文件配置中创建并启动所有服务。

Compose使用步骤

  1. 使用Dockerfile定义应用程序的环境。
  2. 使用docker-compose.yml配置应用程序的服务,这个配置文件可以按照规则配置任意N个docker容器信息。
  3. 执行docker-compose up命令来启动并运行整个应用程序。

功能

  1. 定义和运行多容器应用:Docker Compose允许你通过一个配置文件来定义多个容器的运行方式,并轻松地启动、停止和重启整个应用。
  2. 容器编排:Docker Compose支持容器的编排,可以根据容器的依赖关系自动启动和停止容器,确保应用在运行时具有正确的环境。
  3. 网络配置:Docker Compose支持自定义网络配置,使得容器之间的通信更加灵活和可靠。
  4. 数据卷管理:Docker Compose支持数据卷的挂载和管理,可以轻松地共享和持久化容器数据。
  5. 扩展性:Docker Compose具有良好的扩展性,可以轻松地添加和删除容器,以满足应用的需求。

组成

  1. 工程(Project)
  • 由一组关联的应用容器组成一个完整的业务单元,在docker-compose.yml文件中定义。
  • Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定,工程名即为当前目录名。
  • Docker-Compose的工程配置文件默认路径是当前目录下的docker-compose.yml,可使用yml或yaml作为文件扩展名,可通过环境变量COMPOSE_FILE或-f参数自定义配置文件,其定义了多个有依赖关系的服务及每个服务运行的容器。
  • Docker-Compose允许用户通过一个单独的 docker-compose.yml 模板文件(YAML格式)来定义一组相关联的应用容器为一个项目。
  1. 服务(Service)
  • 一个应用的容器,例如支付服务、订单服务、库存服务、Nginx服务、Mysql服务等。
  • 一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。
  • 一个服务当中可包括多个容器实例。
  • Docker-Compose并没有解决负载均衡的问题,因此需要借助其它工具实现服务发现及负载均衡,比如:Consul。
  1. 容器(Container)

安装

  1. 前提:必须先安装Docker。
  2. 打开https://github.com/docker/compose/releases,往下拖动滚动条,找到docker-compose-linux-x86_64安装包进行下载。

  1. 下载后将文件名重命名为docker-compose
  2. 将docker-compose文件通过工具上传到Centos系统下的url/local/bin目录中。

  1. 授予执行权限
sudo chmod +x /usr/local/bin/docker-compose

  1. 创建软连接,类似于windows系统的快捷方式
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

  1. 查看docker-compose版本
docker-compose version

部署服mysql服务

  1. 创建目录,将docker-compose文件都存放在此目录,并在该目录下新建mysql文件夹。
mkdir -p /home/docker-compose
cd /home/docker-compose
mkdir mysql
cd mysql

  1. 在mysql目录下创建docker-compose.yml
touch docker-compose.yml
  1. 编辑文件
vim docker-compose.yml

插入配置信息并保存,这里演示启动两个mysql服务。

注意:yaml文件编写一定要注意格式。

version: '1.0' #自定义版本
services: #配置服务,可以配置多个服务
    mysqlservice1: #自定义服务名称
         image: mysql:latest #镜像以及版本
         container_name: mysql_container1 #容器名称
         restart: always #是否跟随系统启动自动启动
         ports: #端口映射,宿主机对外暴露端口:容器端口
            - 3309:3306
         volumes: #目录映射
            - /root/docker-compose/mysqlservice1/data:/var/lib/mysql-compose
            - /root/docker-compose/mysqlservice1/config:/etc/mysql-compose/my.cnf
         environment: #mysql的环境配置
           MYSQL_ROOT_PASSWORD: 123456
    mysqlservice2: #自定义服务名称
         image: mysql:latest #镜像以及版本
         container_name: mysql_container2 #容器名称
         restart: always #是否跟随系统启动自动启动
         ports: #端口映射,宿主机对外暴露端口:容器端口
            - 3310:3306
         volumes: #目录映射
            - /root/docker-compose/mysqlservice2/data:/var/lib/mysql-compose
            - /root/docker-compose/mysqlservice2/config:/etc/mysql-compose/my.cnf
         environment: #mysql的环境配置
           MYSQL_ROOT_PASSWORD: 123456

  1. 启动容器
docker-compose -f /home/docker-compose/mysql/docker-compose.yml up -d

#参数解析
-d:表示后台运行
up: 启动
-f: 指定docker-compose文件位置

其它命令

docker-compose down #停止容器
docker-compose restart #重启容器
  1. 查看容器信息
docker ps

  1. 测试连接mysql

docker-compose常用命令

格式:docker-compose + 命令。

build 重新构建服务
ps 列出容器
up 创建并启动容器
exec 容器内执行命令
scale 指定一个服务容器启动数量
top 显示容器进程
logs 查看容器输出
down 删除容器、网络、数据卷和镜像
stop/start/restart 停止/启动/重启服务

标签:容器,compose,centos7,dock,Compose,mysql,docker,Docker
From: https://www.cnblogs.com/mingcore/p/18586563

相关文章

  • Install Elasticsearch with Docke
    InstallElasticsearchwithDocke参考链接Startasingle-nodeclusterlinktostartamulti-nodeclusterwithdockercomposerlinktodockercomposerfile.env#Passwordforthe'elastic'user(atleast6characters)ELASTIC_PASSWORD=#Pa......
  • 无法科学上网导致docker compose up -d报错,已解决
    MilvusMilvus是一款开源的向量数据库,具有高度的灵活性、稳定可靠性以及高速查询等特点。它支持针对TB级向量的增删改操作和近实时查询,适用于大规模向量数据的存储和检索。Milvus的官网:https://milvus.ioGithub上Milvus的链接:https://github.com/milvus-ioDockerDocker是......
  • 威联通-002 Docker镜像下载
    @目录前言操作大纲1.登录阿里云镜像服务2.创建个人容器3.GitHub复制代码到本地库、配置信息4.点击修改自己想要拉取的镜像5.进入阿里云查看6.创建容器参考(可用)前言由于国内几乎所有的docker库的封锁,现在不能进行docker镜像的拉取操作,尝试很多种方法都失败了,最后总结一个自己觉......
  • 使用Docker打造Linux老系统的编译工具链
    由于GLIBC及C++运行时库的问题,在新的Ubuntu下编译的软件,拿到老系统上,是往往会运行出错的,而老系统编译出来的软件,则通常能够被新系统兼容因此准备弄一个老系统下的容器,专门用来编译一些软件,这里ubuntu使用16.04版本。参考自网络上搜索得到的信息,准备三个文件,分别是Dockerfile/ru......
  • docker 总结
    Docker:是一个发布应用程序的技术Docker的核心镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。镜像就是磁盘上的文件包含完整运行环境,可以在任意Linux操作系统上运行参考:Docker镜像操作-一杯水M-博客园Dockerfile:将jar文件构......
  • Docker安装与使用全指南
    标题:Docker安装与使用全指南Docker是一种流行的容器化工具,用于简化应用程序的构建、部署和运行。它通过轻量级容器提供跨平台环境的一致性,成为现代开发和运维的核心工具之一。本文将详细介绍如何在不同操作系统上安装Docker,并完成基础配置和验证。一、什么是Docker?Doc......
  • docker安装SqlServer2019
    使用dockercompose部署资源清单文件services:sqlserver-2019:restart:alwayscontainer_name:sqlserverimage:mcr.microsoft.com/mssql/server:2019-latestuser:root#端口映射ports:-1433:1433volumes:-./mssql:/var......
  • 解决docker拉取镜像报错,Error response from daemon: Get "[https://registry-1.docke
    拉取镜像报错,Errorresponsefromdaemon:Get"[https://registry-1.docker.io/v2/":](https://registry-1.docker.io/v2/":)net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)原因:镜像源问题,需更换可用的镜像源解......
  • langfuse使用的postgresql(docker)启用归档
    1.停掉容器cd/home/middle/langfuse/langfusedockercomposestop 2.创建归档文件存放路径需要登录容器创建目录,归档目录必须在容器里面创建dockerexec-tilangfuse-db-1/bin/bashcd/var/lib/postgresql/datamkdirarchivelog 2.修改pg配置文件cd/home/middle/langfu......
  • 第57篇 docker的常用命令
    1镜像管理2容器管理3容器运行4网络管理5插件管理6数据卷管理7日常操作8常用dockerfile指令......