容器引擎-Docker

news/2024/11/19 15:37:55/文章来源:https://www.cnblogs.com/NETYZreal/p/18346534

Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级、可移植的、自给自足的容器。Docker类似于集装箱,各式各样的货物,经过集装箱的标准化进行托管,而集装箱和集装箱之间没有影响。也就是说,Docker平台就是一个软件集装箱化平台,这就意味着我们自己可以构建应用程序,将其依赖关系一起打包到一个容器中,然后这容器就很容易运送到其他的机器上进行运行,而且非常易于装载、复制、移除,非常适合软件弹性架构。

docker核心概念:
镜像image:容器的模板,通过镜像可以创建容器。
容器container:轻量级的运行沙箱,里面包含着程序和程序运行所附带的运行环境(用户权限、进程空间、用户空间、网络等)。容器是从镜像创建的应用运行实例。
仓库Repositiry:存放镜像的地方,docker官方仓库docker hub
容器引擎:docker-ce 社区版 docker-ee 企业版

安装Docker
https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.57e31b11xdEX47

docker version --查看当前docker版本

OpenVz官方镜像站:https://wiki.openvz.org/Download/template/precreated
镜像命令:
创建:
docker pull 仓库注册地址/仓库名
-a --获取仓库中所有镜像
docker pull ubuntu:18.04 --获取镜像到本地(仓库名:标签)如果不添加标签,则获取最新版

自定义创建镜像:
docker commit -m "注释" -a "作者信息" 容器ID 新仓库名:标签 --基于容器创建一个新的镜像
示例:docker commit -m "add new file" -a "bert" 3dcd bert:1.0 --基于容器ID:3dcd创建一个新的镜像bert:1.0

docker import 模板(由官方提供模板)文件路径 name:tag --基于本地导入镜像

基于dockerfile创建:写一个脚本dockerfile文件,利用一个指定的父镜像,对父镜像进行操作描述

存出镜像:docker save -o 保存后的文件路径.格式 镜像ID\name:tag

载入:docker load -i 文件需要载入的文件路径

查看:
docker image ls --查看当前获取完成的镜像-使用仓库名、标签、镜像ID确定一个镜像
-a --列出所有镜像
-f --过滤 实例: -f dangling=true --只显示没有被使用过的镜像
-q --仅输出ID信息,默认为否

docker image inspect ubuntu:18.04 --查看镜像详细信息
docker image inspect f9a80a55f492 (64个16进制,256比特) --查看镜像详细信息

docker history ubuntu:18.04 --查看镜像历史封装内容
docker history f9a80a55f492

docker tag ubuntu:latest myubuntu:1.1 --自定义仓库名和标签(不会再占用空间大小)

管理:
docker search [option] --搜索含有关键字的仓库或镜像
docker search --filter=is-official=true nginx

docker rmi 镜像ID\name:id --删除镜像
docker image rm 镜像ID\name:id
--删除时如果镜像有对应运行容器,则镜像无法删除(可以使用-f强制执行)
--如果镜像存在多个链接镜像,则删除时无法同时删除多个镜像(可以使用-f强制执行)

docker image prune --清理镜像(批量的对镜像进行删除)
-a --删除所有无用的镜像
--filter --通过过滤相关条件
-f --强制清理,不进行提示

容器命令:
创建:
docker create 镜像ID\name:id --创建容器(创建出来的容器默认为关闭的)
-t --分配一个伪终端
-i --保持标准输入打开
-d --是否在后台运行容器(保持守护进程)
docker create -it ubuntu:18.04 --创建容器

docker run 镜像ID\name:id --创建容器()
工作逻辑:
1、检查本地是否有镜像,没有则自动去公共仓库下载
2、利用镜像创建一个容器,并启动该容器
3、分配一个文件系统给容器,并在只读镜像层外挂载读写层
4、从宿主机配置的网桥接口中桥接一个虚拟接口到容器中
5、从网桥地址池配置一个IP地址给容器
6、执行用户指定的应用程序
7、执行完成后容器自动终止

查看:
docker ps -a --查看当前所有容器(包括关闭的)

管理:
docker start 容器ID --启动容器

docker rm 容器ID --删除容器
docker attach 容器ID --进入容器操作(exit退出容器进程)
docker stop 容器ID --关闭容器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/779357.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

穿墙神器frp

背景 内网渗透需要 官网 https://github.com/fatedier/frp 当前最新版https://github.com/fatedier/frp/releases/tag/v0.59.0 部署 写两个简单的加入systemctl的脚本create_frps_service.sh #!/bin/bash install_path=$(cd $(dirname $0); pwd) frps_exec=$install_path/frps …

wpf 中的三个 UnhandledException

结构化异常处理 在异常点生成异常的结构体,异常分发 WPF中的三个Excption处理函数AppDomain::UnhandledException 事件属性 UI线程和Thread 实例的异常会触发该事件。Application::DispatcherUnhandledExcetion 事件属性 UI线程异常会触发该事件。如果事件的IsHandle=false,异…

19.python之自定义函数

python之自定义函数 一、函数的介绍 1、函数定义:函数是一个组织好,可重复使用,实现单一或联合的代码段。 2、函数作用:a、降低代码的冗余、b、增加代码的复用性 c、提高程序的拓展性 d、封装 二、python的结构三、函数的使用 1、格式: def 函数名 (变量): 执行语句 函…

洛谷P1480 A/B Problem

4.高精度除以低精度 题目叙述: A/B Problem 题目描述 输入两个整数 \(a,b\),输出它们的商。 输入格式 两行,第一行是被除数,第二行是除数。 输出格式 一行,商的整数部分。 样例 #1 样例输入 #1 10 2样例输出 #1 5提示 \(0\le a\le 10^{5000}\),\(1\le b\le 10^9\)。 代码…

condition字符串匹配问题

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 fs使用dialplan配置文件执行业务流程,condition条件变量的配置是必然会使用的,这里记录一次配置过程中的错误示范。 环境 CentOS 7.9 freeswitch 1.10.7 问题描述 dialplan配置如下,本意是根据通道变量${poolType}的值…

【Harmony Next】七夕前学会创建开屏动画拿下女同事的芳心

【Harmony Next】七夕前学会创建开屏动画拿下女同事的芳心 一个优秀的项目需要一个*格够高的动画来开启,下面教你用三步快速实现鸿蒙应用的开屏动画1.创建窗口 使用windowStage.createSubWindow("splash_window")创建窗口对窗口进行管理,实现加载开屏动画在UIAbili…

获取客户端真实IP

出于安全考虑,近期在处理一个记录用户真实IP的需求。本来以为很简单,后来发现没有本来以为的简单。这里主要备忘下,如果服务器处于端口回流(hairpin NAT),keepalived,nginx之后,如何取得客户端的外网IP。  来自客户端PC的流量路径如上,在这样的拓扑中,在应用服务中取…

获取客户端真实IP备忘

出于安全考虑,近期在处理一个记录用户真实IP的需求。本来以为很简单,后来发现没有本来以为的简单。这里主要备忘下,如果服务器处于端口回流(hairpin NAT),keepalived,nginx之后,如何取得客户端的外网IP。  来自客户端PC的流量路径如上,在这样的拓扑中,在应用服务中取…

[OI] 欢夏!邪龙?马拉车!

标题来自原神 算法概述 Maracher 算法 用途:寻找回文串,最板子的情况下用于字符串的回文子串计数给定一个字符串 \(S\),求出它全部的回文子串容易想到一种暴力的 \(n^{2}\) 做法,即枚举全部中心点,开双指针向两边扩展,每扩展一次就提供 \(1\) 的贡献. 事实上,对于这样的…

一行命令搞定内网穿透

一行命令搞定内网穿透 一款开源免费的内网穿透工具:localtunnel ,基于 nodejs 实现,无需修改 DNS 和防火墙设置,方便快捷的将内网服务暴露到外网,为开发人员、测试人员以及需要分享本地项目的人提供实时的公网访问方式,以便于测试和共享!功能特性一行命令启动,无需复杂…

中电信翼康济世数据中台基于Apache SeaTunnel构建数据集成平台经验分享

Apache SeaTunnel作为一个高效、灵活的数据集成平台,在数据中台战略中扮演着重要角色。通过本文的介绍,读者可以了解如何基于SeaTunnel快速搭建数据集成平台,并在实际应用中灵活运用。未来,随着技术的不断发展,SeaTunnel将继续在数据集成领域发挥重要作用,助力企业实现数…

数据集可以自己找开源

数据集可以自己找开源,比如GitHub上面的等等。 比如这个:https://github.com/bstabler/TransportationNetworks/tree/master其他相关项目 TRB网络建模委员会 InverseVIsTraffic是一个开源存储库,它实现了一些针对单类和多类交通网络提出的逆变分不等式 (VI) 公式。该软件包还…