docker深入

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了docker深入脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

一、docker Compose(容器单独是没有什么意义的,有意义的是容器编排)

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

三步:

  1.Dockerfile保证项目可以在任何地方运行

  2.docker-compose.yML

      -services服务

      -docker-comse.yml怎么写

  3.docker-compose up 启动项

作用:批量容器编排

 

2)Compose是Docker官方的开项目,需要安装

   Dockerfile让程序在任何地方运行。 

 

  Compose实例:

 

version: "3.9"  # optional since v1.27.0
services:
  web:
    build: .
    ports:
      - "5000:5000"
    volumes:
      - .:/code
      - LOGvolume01:/VAR/log
    links:
      - redis
  redis:
    image: redis
volumes:
  logvolume01: {}

   

  service服务:容器/应用(redis、MySQL....)

  项目PRoject:一组关联的服务。如博客(web、mySQL

  

3)安装Compose

  1.下载

     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

国内地址: curl -L https://get.DAOcloud.io/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

  2.授权

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

  3.查看版本

   docker-compose  version,安装成功

   

docker深入

官方demo测试:https://docs.docker.com/compose/gettingstarted/

  1.创建一个文件夹

  cd /home , ;mkdir composetest

  2.创建一个文件app.py拷贝官方的应用  

  

docker深入

 

 

         编辑另外一个文件

  

docker深入

 

 

   3.创建Dockerfile文件

  

docker深入

 

 

   4.创建dock-compose.yml文件

  

docker深入

 

 

   5.docker-compose up,提示让docker-compose up --build

  

docker深入

 

 

   docker-compose up --build,再次build并运行

  

docker深入

 

 

   访问成功

  

docker深入

 

  使用docker service ls查看

  

docker深入

 

 

 

 

** 默认服务名 文件名_服务名_num

 当docker集群时,num为服务的副本编号    

docker深入

 

 

** 网络规则

 使用docker network ls发现创建了一个网络

 

docker深入

 

 

 项目中的所有服务都在同一个网络下面,可以通过域名访问

 如:mysql:3306(10个mysql都是通过域名访问)

  查看网络信息 docker network insPEct composetest_default 

 

docker深入

 

 

   刚才官方的demo中可以看到

  

docker深入

  6.停止:

    ctrl+c

    docker-compose down

 启动和停止都必须在文件目录下才能使用     

**结论:之前是docker run单个启动容器或者停止

  编写docker-compose.yml docker-compose up 一键批量启动服务

 

总结:1.docker镜像   run=》容器

   2.Dockerfile构建镜像(服务打包成镜像)

      3.docker-compose.yml 启动项目(编排多个微服务/ 环境)

   4.docker网络           

 二、yaml文件编写规则

  #总共三层

  #第一层 版本 version:(docker引擎和yaml版本向下兼容)

  #第二层 服务 service:

         #服务配置

           images

           build

           network

  #第三层 其他配置 网络/卷/全局配置

        networks

        volumes

        configs     

      

 

 

  

docker深入

 

 

   depends_on: 启动顺序  先启动db,redis,再启动web

  

 三、Compose一键部署WP博客

  https://docs.docker.com/samples/wordPress/

  步骤:

    -创建一个文件夹,然后创建一个docker-compose.yml拷贝

      docker-compose up 前台启动

      docker-compose up -d 后台运行

     

  

docker深入

 

 

  下载开源项目:  

  1.下载开源项目(带有docker-compose.yml)

  2.如果需要文件-Dockerfile构建镜像(这个博客是去拉的仓库镜像)

  3.文件准备好之后一键启动

 

 四、编写自己的项目上线

  1.编写springboot项目打成jar包

  2.编写dockerfile构建镜像

  3.docker-compose.yml 编排项目

  3.放到服务器上docker-compose up

总结:工程compose:三层

    工程project

    服务service

    容器运行实例

 五、docker Swarm(略)

  1.购买多台阿里服务器安装docker

  2.swarm集群搭建

  3.Raft一致性协议

  4.swarm集群弹性创建服务

(直接冲k8s了,swarm可以看狂神说的视频)           

脚本宝典总结

以上是脚本宝典为你收集整理的docker深入全部内容,希望文章能够帮你解决docker深入所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。