首页 > 其他分享 >容器引擎-Docker

容器引擎-Docker

时间:2024-08-07 18:17:27浏览次数:12  
标签:容器 -- 创建 ID 引擎 镜像 Docker docker

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 --关闭容器

标签:容器,--,创建,ID,引擎,镜像,Docker,docker
From: https://www.cnblogs.com/NETYZreal/p/18346534

相关文章

  • 2.3.6版本发布!Apache SeaTunnel Zeta引擎迎来新架构!
    ApacheSeaTunnel2.3.6版本于近日正式发布,社区期待的SeaTunnelZetaMaster/Worker新架构、事件通知机制、支持动态编译的transform等新功能和新能力在这次版本中都有了全面的更新,并添加了首个向量数据库Milvus。此外,本版本还进行了一些基础性的Bug修复和文档修复等,欢迎尝......
  • DockerCompose中使用自定义网络的方式实现部署SpringBoot+Mysql+Redis
    场景Docker中Docker网络-理解Docker0与自定义网络的使用示例:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/140788458Docker中使用自定义网络方式实现Redis集群部署与测试流程:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/140797109上面介绍了D......
  • RockyLinux安装Docker
    更新系统sudodnfupdate安装 Docker 所需的软件包和依赖项sudodnfinstall-yyum-utilsdevice-mapper-persistent-datalvm2添加Docker官方的YUM仓库#官方sudoyum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce.repo#阿......
  • Docker部署.netCore6
    Docker部署.netCore6第一步:在项目添加Docker支持第二步:选择Windows(如果是linx系统就选择linx)和Dockerfile第三步:生成Docker默认文件 把默认代码修改第四步:修改Dockerfile文件属性(如果不修改则会导致发布的时候Docker文件没有一起发布)第五步:把项目发布到文件夹在发......
  • docker启动服务,nacos注册地址默认是容器内IP
    在使用Nacos注册服务时,通常是因为Nacos在Docker中运行时,默认会使用容器的网络设置。本机ip是:192.168.16.163但发现注册到nacos上ip却变了,这样的话调用这个服务是调不同的,除非建docker网络 实现宿主机ip注册的方法:docker-compose问价设置宿主机ipversion:'3......
  • queue容器
    一、queue基本概念概念:queue是一种先进先出的数据结构,他有两个出口二、queue常用接口构造函数:queue<T>que;//queue采用模板类实现,queue对象的默认构造形式queue(constqueue&que);//拷贝构造函数赋值操作:queue&operator=(constqueue&que);//重载等号操作......
  • stack容器
    一、stack基本概念概念:stack是一种先进后出的数据结构,他只有一个出口栈不允许有遍历行为栈可以判断容器为空empty栈可以返回元素个数size二、stack常用接口构造函数:stack<T>stk;//stack采用模板类实现,stack对象的默认构造形式stack(conststack&stk);//拷......
  • Linux安装Docker
    安装前问题1.新安装的CentOS在首次登录时出现需要创建一个新用户的界面Ctrl+Alter+F2新建一个命令行桌面,在这个界面可以使用root账号密码登录在命令行界面执行以下命令,即可跳过该步骤yumremovegnome-initial-setupinit3init52.无法正常显示ipv4地址1.进入存放网......
  • PRipple:现代化PHP原生协程引擎
    转载自微信公众号《开源技术小栈》简介PRipple是一个高性能的原生PHP协程框架,旨在处理高并发、复杂的网络通信和数据操作。项目基于PHP8.1自身的纤程特性实现协程,提供了更加简单易用的API和工具,使得开发者可以轻松地构建高性能的PHP应用。文档地址官方文档特点高性能:......
  • netcore webapi部署到docker容器,api调用后显示中文乱码
    vs2022webapi部署到docker容器,api调用后显示中文乱码。原因是:源代码文件不是utf-8编码(用vscode打开是乱码,在vscode修改后,再提交,正常)解决方法一:在中文环境下用过微软家Visualstudio的都知道,新建文件的保存编码都默认为当前系统语言,所以你的文件编码永远都是GB2312,非常令人......