• Docker常用命令及参数 风行天下


    1、

    https://baijiahao.baidu.com/s?id=1692361731135557712&wfr=spider&for=pc

    Docker是一个被广泛使用的开源容器引擎,是一种操作系统级别的虚拟化技术,它以一种特殊进程的方式运行于宿主机上,它依赖于liunx内核特性:namespace(名字空间进行资源的隔离)和cgroups(限制、记录任务组所使用的物理资源),它也可以对应用程序进行打包。

    2:docker安装

    看上节

    3:docker设计目标

    3.1:提供一个简单的应用程序打包工具,可以将应用程序和它相关依赖的包都会打进去

    3.2:开发人员和运维人员职责逻辑分离,开发人员只需要关心如何打包容器,运维人员只需要关心怎么去管理这些容器,不需要关心里面具体的配置

    3.3:多环境保持一致性,不管测试环境正式环境,只需要部署docker镜像

    4:docker基本组成

    4.1:docker client 客户端

    4.2:docker daemon docker守护进程

    4.3:docker images 镜像

    4.4:docker container 容器

    4.5:docker registry 镜像仓库

    5:容器和虚拟机的比较

    6:镜像的概念

    6.1:什么是镜像

    它是一个分层存储的文件,是一个软件环境,一个镜像可以创建多个容器,一种标准化的交付,一个不包含liunx内核的精简的操作系统

    6.2:在哪里下载镜像

    https://hub.docker.com/explore是由docker公司维护的公共的注册中心,包含大量的容器镜像,docker工具默认从这个地址下载镜像

    6.3:配置国内下载镜像地址

    由于官方在国外,下载很慢,需要配置一个国内的下载地址

    a:执行下面命令:

    curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

    b:执行完会生成/etc/docker/daemon.json文件,里面就是地址

    c:配置完成后需要重启docker才会生效,执行命令

    systemctl restart docker

    7:镜像与容器的关联

    一个镜像可包含多个容器,容器是在镜像的最上面加了一层读写层,镜像里面的文件改动时,它不会直接改动镜像,而是将要改动的文件拷贝到读写层,如果容器删除了,最上面的读写层也就删除了,改动也就丢失了,所以无论多少个容器共享一个镜像,所做的写操作都是从镜像的文件系统中复制过来操作的,并不会修改镜像的源文件,这种方式提高了磁盘的利用率。如果想持久化这些改动,可以通过docker commit将容器保存成一个新镜像。

    8:管理镜像常用命令

    9:容器管理

    9.1:创建容器命令的常用选项参数

    9.2:创建容器时容器资源限制相关的的选项参数

    示例1:

    允许容器最多使用500M内存和100M的Swap,并禁用OOM Killer:

    docker run -d --name nginx003 --memory ==”500M” --memory-swap=”600M” --oom-kill-disable nginx

    示例2:

    允许容器最多使用一半的CPU

    docker run -d --name nginx003 --cpus=”1.5” nginx

    示例3:

    允许容器最多使用50%的CPU

    docker run -d --name nginx003 --cpus=”0.5” nginx

    9.3:容器管理常用命令

    10:宿主机上的数据目录挂载到容器中

    就是容器中使用宿主机上的目录,即使容器删除了,宿主机上的目录也不会被删除,docker提供了三种方式

    方式1:volumes

    保存数据的最佳方式,docker管理宿主文件系统的一部分,在/var/lib/docker/volumes中

    方式2:bind mounts

    将宿主机上的任意位置的文件或者目录挂载到容器中

    方式3:tmpfs

    挂载存储在主机系统的内存中,而不会写入主机文件系统,如果不希望将数据持久存储在任何位置,可以使用此方式,同时避免写入容器可写层提高性能。

    11:docker中的几种网络模式

    11.1:bridge

    -net=bridge

    默认网络,docker启动后创建一个docker0的网桥,默认创建的容器也是添加到这个网桥中。

    11.2:host

    -net=host

    容器不会获得一个独立的network namespace,而是与宿主机共用一个,这就意味着容器不会有自已的网卡信息,而是使用宿主机的,容器除了网络,其它都是隔离的。

    11.3:none

    -net=none

    获取独立的network namespace,但不为容器进行任何网络配置,需要我们手动配置

    11.4:container

    -net=container:name/Id

    与指定的容器使用用一个network namespace,具有同样的网络配置信息,两个容器除了网络,其它还是隔离的。

    11.5:自定义网络

    与默认的bridge原理一样,但自定义网络具备内部DNS发现,可以通过容器名或者主机名容器之间网络通信。

    12:dockerfile使用

    dockerfile就是一个文件,里面包含了很多的指令,可以通过指令构建出我们想要的镜像来。

    12.1:dockerfile格式

    12.2:Build镜像

    docker build [OPTIONS] PATH | URL | [flags]

    OPTION主要二个

    -t,--tag list #镜像名称

    -f,--file string #指定dockerfile文件位置

    13:镜像仓库HarBor简介

    harbor是vmware公司开源的容器镜像仓库,他提供了用户图形界面,角色权限管理等,在我们镜像相当多的时候,可以放到一个中心进行管理,可以理解为我们maven的本地私服

    可参考官方文档:https://vmware.github.io

    14:容器监控相关

    Prometheus

    kubernetes

  • 相关阅读:
    How to determine proper SQL Server configuration settings [ZT from MS]
    How to Create a Performance Monitor Log for NT Troubleshooting [ZTfrom MS]
    HOW TO: Troubleshoot Application Performance with SQL Server[ZTfrom MS]
    INF: How to Monitor SQL Server 7.0 Blocking [ZT from MS]
    ADO.Net基础复习(一)
    JS实现跟随鼠标的魔法文字
    ADO.NET基础复习(二)
    SQL 基础复习
    关于Visual Studio无法连接到Visual Studio 的Localhost Web服务器问题
    计算机十二种常用密码破解法
  • 原文地址:https://www.cnblogs.com/yaok430/p/16738002.html
Copyright © 2020-2023  润新知