Docker之compose

该笔记大部分搬运B站狂神说Java的Docker进阶,顺便把图文合并记录,便于回顾,仅用于学习!
视频地址:https://www.bilibili.com/video/BV1kv411q7Qc 作者真的非常好,别白嫖,记得三连
如有侵权,请联系删除!

1. 概念

docker compose:来构建和管理 Docker 容器中的多个服务。
源码地址:https://github.com/docker/compose
官网:https://docs.docker.com/compose/
在线学习网站:https://vuepress.mirror.docker-practice.com/compose/introduction/

2. Docker Compose三步骤

  1. 使用 a 定义应用的环境,以便可以在任何地方复制。Dockerfile
  2. 定义构成应用的服务,以便它们可以在孤立的环境中一起运行。docker-compose.yml
  3. 最后,运行和撰写将启动和运行您的整个应用程序。docker-compose up

官网:一个docker-compose类似与这样
在这里插入图片描述
假如在需要启动100个服务,我们只需要在docker-compose.yml中配置然后通过docker-compose up启动即可!
compose重要概念:

  • 服务 (service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
  • 项目 (project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。

3. 安装Compose

# 官网提供 (没有下载成功)
curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
 
# 国内地址
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

在这里插入图片描述
查看是否安装成功!
在这里插入图片描述
授予权限

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

在这里插入图片描述
在这里插入图片描述
解决安装不成功方案:https://blog.csdn.net/qq_35663625/article/details/107411857

查看安装版本
在这里插入图片描述

4. 卸载Compose

如果是二进制包方式安装的,删除二进制文件即可。

sudo rm /usr/local/bin/docker-compose

如果是通过 pip 安装的,则执行如下命令即可删除。

sudo pip uninstall docker-compose

5. 体验Compose

参考官网:https://docs.docker.com/compose/gettingstarted/

在这里插入图片描述
在这里插入图片描述
docker ps
在这里插入图片描述
docker images
在这里插入图片描述
流程:

创建网络
执行Docker-compose.yaml
启动服务
yaml规则
docker-compose.yaml 核心!

查看网关
在这里插入图片描述

[root@localhost composetest]# docker network inspect composetest_default

发现处于同一网关,说明了什么?
如果处于同一个网络上,我们可以直接通过域名访问。
在这里插入图片描述
停止:

docker-compose dowm
或者
Ctrl+C
以前:通过docker run一个一个启动服务;
现在:通过docker-compose编写yaml一键启动服务。

6. yaml规则

参考网址:https://docs.docker.com/compose/compose-file/

# 3层!
version: ' '#版本
services: #服务
	服务1: web
		#服务配置
		images
		build
		network
	服务2: redis
	服务3: redis
#其他配置网络/卷、全局规则
volumes:
networks :
configs:

在这里插入图片描述
集群中用到的
在这里插入图片描述

7. 一键部署WP博客

官网参考:https://docs.docker.com/samples/wordpress/

7.1 创建文件夹

在/home目录中创建一个命名为my_wordpress文件夹
在这里插入图片描述

7.2 编写yaml文件

version: "3.9"
    
services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    
  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - wordpress_data:/var/www/html
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
volumes:
  db_data: {
    
    }
  wordpress_data: {
    
    }

7.3 启动

[root@localhost my_wordpress]# docker-compose up

在这里插入图片描述
查看是否开启成功:
在这里插入图片描述
测试:通过ip:8000端口号进行访问
在这里插入图片描述

8. 实战流程

1、编写项目微服务
2、dockerfile 构建镜像
3、docker-compose.yaml 编排项目
4、丢到服务器docker-compose up

小结:
未来项目只要有docker-compose文件。按照这个规则,启动编排容器。!
公司: docker-compose。 直接启动。
网上开源项目: docker-compose -键搞定。

假设项目要重新部署打包

docker-compose up --build #重新构建!

猜你喜欢

转载自blog.csdn.net/Yearingforthefuture/article/details/120176020