• Docker学习总结


    Docker简介:

            Docker是一个开源的容器引擎,有助于快速的交付应用。Docker可将应用程序和基础设施层隔离,使用docker可更快打包、测试以及部署应用,并可缩短从编写到部署运行代码的周期。

    Dockers CE:

            Docker ce 是免费的Docker产品名称,Docker CE包含了完整的Docker平台,非常适合开发人员和运维团队构建容器应用。

    Docker架构组件:

            Docker dasmon(docker 守护进程):docker daemon是一个运行在宿主机(DOCKER_HOST)的后台进程。可通过Docker客户端与之通信。

            Images(Docker镜像):Docker镜像是一个只读模板,它包含创建Docker容器的说明。使用Docker镜像可以运行Docker镜像中的程序。

            Container(容器):容器是镜像可以运行实例,镜像和容器的关系,类似面向对象中的类和对象的关系。

            Registry(注册中心):Docker Registry是一个集中存储与分发镜像的服务。构建完Docker镜像后,就可以在当前宿主机上运行。如果需要在其它机器上运行这个镜像,就需要手动复制。此时可以借助Docker Registry避免镜像的手动复制。

            一个Docker Registry可包含多个Docker仓库,每个仓库可包含多个镜像标签,每个标签对应一个Docker镜像,镜像标签tag,类似镜像的版本号。

            Docker Registry可分为公有Docker Registry和私有Docker Registry。最常用的Docker Registry莫过于官方的Docker Hub,也是默认的Docekr Registry。

    Linxu系统下安装Docker

           Centos7安装Docker

           要求centos版本是7或更高版本,centos的包管理工具yum

           Ubuntu安装Docker

           Ubuntu的包管理工具 apt

    Dockerfile:

            Dockerfile是一个文本文件,其中包含了若干条指令,指令描述了构建镜像的细节。

    Docker常用指令:

            ADD复制文件

            RAG设置构建参数

            CMD容器启动指令

            COPY复制文件

            ENTRYPOINT入口点

      ENV设置环境变量

            EXPOSE声明暴露的端口

            FROM指定基础镜像

            LABEL为镜像添加元数据

            MAINTAINER指定维护者的信息

            RUN执行命令

            USER设置用户

            VOLUME指定挂载点

            WORKDIR指定工作目录

            除了dockerfile构建镜像外,还可以使用Maven插件构建Docker镜像。

    使用Docker Compose编排微服务

            使用Dockerfile可以构建镜像,使用微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例。如果每个微服务都要手动启停,效率低,维护量大。docker compose可以轻松、高效地管理容器。Docker Compose是一个基于Docker的单主机容器编排工具。

    Docker Compose简介

            Compose是一个定义和运行多容器Docker应用程序的工具,前身是Fig。非常适合用在开发、测试、构建CI工作流等场景。

            安装Docker compose

            docker-compose.yml是compose的默认模板文件

            docker-compose version 3的常用命令:

            build:配置构建时的选项

            command:覆盖容器启动后默认执行的命令

            dns:配置DNS服务器

            environment:环境变量设置

            .env_file:从文件中获取环境变量

            expose:暴露端口,只将端口暴露给连接的服务,而不暴露给宿主机。

            extrenal_links:连接到docker-compose.yml外部的容器

            image:指定镜像名称或镜像ID

            linke:连接到其它服务的容器

            networks:

            network_mode:设置网络模式

            ports:暴露端口信息

            volumes:卷挂在路径设置

    Docker-Compose常用命令:

            build:构建或重新构建服务

            help:查看帮助文档

            logs:查看服务的日志输出

            ps:列出所用容器

            pull:下载服务镜像

            rm:删除指定服务的容器

            run:在一个服务上执行一个命令

            start:启动指定服务已存在的容器

            scale:设置指定服务运行容器个数

            stop:停止已运行的容器

            up:构建、创建、重新创建、启动、连接服务的相关容器

            docker-compose up -d 可在后台启动并运行所有容器

    Docker容器网络:

    参考资料:《Spring Cloud与Docker微服务架构实战》

  • 相关阅读:
    类和对象(上)
    Jetson连接百兆交换机丢包笔记
    【php毕业设计】基于php+mysql+apache的校园新闻网站设计与实现(毕业论文+程序源码)——校园新闻网站
    快速排序算法
    人工智能图像修复研究,人工智能图像信息处理
    2023最新SSM计算机毕业设计选题大全(附源码+LW)之java招生管理系统2ij21
    LVS+Keepalived
    基于C#的学生选课管理系统
    【android12-linux-5.1】【ST芯片】【RK3588】【LSM6DSR】HAL移植
    力扣(LeetCode)323. 无向图中连通分量的数目(2022.11.20)
  • 原文地址:https://blog.csdn.net/qq_21305943/article/details/126314459