Docker-Compose安装和使用

Docker-Compose是什么?

  • Docker-Compose是单机容器编排工具。单机也就是说只能在一台机器上使用。如果是集群,则需要使用k8s这样的技术。
  • 通过yml文件定义多容器如何部署。yml文件定义了容器的先后顺序,彼此的依赖关系,存储方式等内容。
  • Windows/Mac系统,默认提供Docker-Compose,linux需要单独安装才可使用。

Docker-Compose能做什么?

如果要部署下面的三个组件,NGINX为Tomcat提供负载均衡,Tomcat访问MySQL获取数据。

如果这一组应用要部署上线,需要先安装MySQL,然后安装Tomcat,再安装NGINX,并让它们之间可以访问,这一系列的操作,在不使用Docker-Compose的情况下,需要运维人员执行一系列的安装命令,然后再去修改配置文件。

显然这样的操作很繁琐,使用Docker-Compose可以解决这个问题。

Docker-Compose通过执行一个命令脚本,就可以实现先安装MySQL,再安装Tomcat,最后安装NGINX。并且彼此之间形成依赖关系。

简单来说,Docker-Compose就是docker镜像快速部署的一个工具。

安装Docker-Compose

教程网址:

Plugin | Docker Docs

根据教程一步步执行对应的安装命令:

执行过程:

看到版本信息时,说明已经安装完成。

使用Docker-Compose部署博客网站

WordPress是什么?

WordPress是一个开源的博客网站,下面通过部署WordPress网站,来演示Docker-Compose的使用。

WordPress使用MySQL数据库,如果自行部署一个WordPress,则需要部署数据库服务和前端应用。

部署WordPress

Docker-Compose部署WordPress官方教程:

https://github.com/docker/awesome-compose/tree/master/official-documentation-samples/wordpress/

根据教程,一步步操作:

1.创建名称为docker-compose.yml的文件

2.在创建的文件中放入命令脚本
services:
  db:
    # We use a mariadb image which supports both amd64 & arm64 architecture
    image: mariadb:10.6.4-focal
    # If you really want to use MySQL, uncomment the following line
    #image: mysql:8.0.27
    command: '--default-authentication-plugin=mysql_native_password'
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=somewordpress
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wordpress
      - MYSQL_PASSWORD=wordpress
    expose:
      - 3306
      - 33060
  wordpress:
    image: wordpress:latest
    volumes:
      - wp_data:/var/www/html
    ports:
      - 8005:80
    restart: always
    environment:
      - WORDPRESS_DB_HOST=db
      - WORDPRESS_DB_USER=wordpress
      - WORDPRESS_DB_PASSWORD=wordpress
      - WORDPRESS_DB_NAME=wordpress
volumes:
  db_data:
  wp_data:

3.创建工作文件夹

在usr/local目录中创建名称为my_wordpress的文件夹,并把docker-compose.yml文件放入进去

4.执行启动命令

进入到/usr/local/my_wordpress路径下,执行启动命令

docker compose up -d

 因为网络的原因,我没有执行成功。

5.浏览器访问wordpress网站

如果上一步执行成功,通过ip:端口,可以访问wordpress。

192.168.1.10:8005

192.168.1.10 这个ip是linux的ip

8005是上面设置的wordpress的访问端口

6.移除操作

如果想移除wordpress,可以使用移除命令

docker compose down --volumes

7.docker-compose.yml解读

services:  定义如何安装容器,容器的先后顺序,都在services中定义。
  db:  第一个需要安装的容器,db,名称可以自定义。
    image: mariadb:10.6.4-focal   获取mariadb:10.6.4-focal镜像文件并生成容器 
    command: '--default-authentication-plugin=mysql_native_password'
    volumes:  挂载数据
      - db_data:/var/lib/mysql    将物理机中一个空的路径 挂载到容器内部地址中:/var/lib/mysql
    restart: always  自动重启,当容器停止运行时,自动重启容器
    environment:  参数设置
      - MYSQL_ROOT_PASSWORD=somewordpress  设置MySQL root用户的密码
      - MYSQL_DATABASE=wordpress 数据库名称
      - MYSQL_USER=wordpress 数据库新的用户名
      - MYSQL_PASSWORD=wordpress 数据库新的密码
    expose: 暴露端口
      - 3306
      - 33060
  wordpress:  第二个需要安装的容器,wordpress,名称可以自定义。
    image: wordpress:latest  获取wordpress:latest镜像文件并生成容器 
    volumes:   挂载数据
      - wp_data:/var/www/html  将物理机中一个空的路径 挂载到容器内部地址中:/var/www/html
    ports: 暴露端口
      - 8005:80  容器内容80端口,对应到外部的8005端口,外部用8005端口访问
    restart: always 自动重启,当容器停止运行时,自动重启容器
    environment: 参数设置
      - WORDPRESS_DB_HOST=db  数据库主机 
      - WORDPRESS_DB_USER=wordpress  镜像初始化参数设置
      - WORDPRESS_DB_PASSWORD=wordpress 镜像初始化参数设置
      - WORDPRESS_DB_NAME=wordpress 镜像初始化参数设置
volumes:  挂载数据
  db_data:  设置物理机的路径
  wp_data: 设置物理机的路径

Docker Compose是一个用于定义管理多容器Docker应用程序的工具。它通过使用YAML文件来定义应用程序的服务、网络卷等配置,并通过简单的命令来启动、停止管理应用程序。 安装Docker Compose的步骤如下: 1. 首先确保已经安装Docker。你可以通过运行`docker version`命令来检查Docker是否已经安装成功。 2. 下载Docker Compose的二进制文件。可以使用以下命令来下载最新版本的Docker Compose: ``` sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose ``` 3. 授予执行权限给docker-compose二进制文件: ``` sudo chmod +x /usr/local/bin/docker-compose ``` 4. 验证Docker Compose是否安装成功: ``` docker-compose --version ``` 如果显示了正确的版本号,则说明安装成功。 使用Docker Compose创建管理应用程序的步骤如下: 1. 在项目根目录创建一个名为`docker-compose.yml`的YAML文件。 2. 在`docker-compose.yml`文件中定义你的应用程序的服务、网络卷等配置。例如,以下是一个简单的示例: ```yaml version: '3' services: web: image: nginx ports: - "80:80" db: image: mysql environment: MYSQL_ROOT_PASSWORD: example ``` 3. 使用以下命令来启动应用程序: ``` docker-compose up ``` 这将根据`docker-compose.yml`文件中的配置创建启动服务。 4. 如果需要在后台运行应用程序,可以使用以下命令: ``` docker-compose up -d ``` 5. 使用以下命令停止应用程序: ``` docker-compose down ``` 以上就是Docker Compose安装基本使用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值