首页 > 其他分享 >Docker基本使用

Docker基本使用

时间:2023-10-09 22:44:26浏览次数:37  
标签:基本 容器 -- 使用 镜像 Docker docker 运行

 

虚拟机:通过虚拟化技术模拟真实的硬件从而创建出来的一台拥有完整功能的逻辑计算机。

Docker容器:docker容器也是一种虚拟化技术,和传统虚拟化不一样的是docker只模拟一个程序最核心的运行环境,所以十分小巧,启动更快。

Docker虚拟化技术和传统虚拟化技术架构对比:
vm_vs_docker.png

对比特点
虚拟机 完整的系统功能,隔离性更好,占用空间大(通常以G为单位),运行占用资源较多,启动慢(分钟级启动)
容器

只有程序运行的核心环境,不需要安装直接运行镜像即可,隔离性一般,十分小巧占用空间极小(一般以M为单位),启动快(秒级启动)

 

 

 

 

 

镜像(image):
docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像=>run=>tomcat1容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。

容器(container):
Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的。
启动,停止,删除,基本命令!
目前就可以把这个容器理解为就是一个简易的linux系统

仓库(repository):
仓库就是存放镜像的地方!
仓库分为公有仓库和私有仓库!

 

# docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
hello-world             latest              feb5d9fea6a5        16 months ago       13.3kB
tensorflow/tensorflow   latest-devel-py3    e3e8e5092607        2 years ago         1.94GB
tensorflow/tensorflow   latest-gpu          58a8e83b7dbf        4 years ago         3.36GB
nvidia/cuda             latest              52bf259063bf        4 years ago         2.24GB

# 解释
REPOSITORY     //镜像的仓库源
TAG          //镜像的标签
IMAGE ID       //镜像的id
CREATED        //镜像的创建时间
SIZE          //镜像的大小
# 命令参数可选项
 -a, --all         # 显示所有镜像 (docker images -a)
 --digests 		      #显示镜像的摘要信息(docker images --digests)
 -q, --quiet        # 仅显示镜像id (docker images -q)

[root@localhost ~]# docker search mysql
NAME      DESCRIPTION                            STARS     OFFICIAL   AUTOMATED
mysql     MySQL is a widely used, open-source relation…   12966     [OK]       
......
# 解释
NAME			   //镜像仓库源的名称
DESCRIPTION		//表示该镜像的功能
STARS			   //表示下载热度
OFFICIAL		  //是否docker官方发布
AUTOMATED		  //自动构建
# 命令参数可选项 (通过搜索来过滤)
--filter=STARS=3000     # 搜索出来的镜像就是stars大于3000的
[root@localhost ~]# docker search mysql --filter=STARS=3000
NAME      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql     MySQL is a widely used, open-source relation…             12966      [OK]       
mariadb   MariaDB Server is a high performing open sou…              4966      [OK]   
docker version         # 显示docker的版本信息
docker info           # 显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help      # 帮助命令

使用docker的run参数可以运行一个容器,-i参数表示以交互式模式运行容器,-t参数表示为容器重新分配一个伪终端,这三个参数联合使用,就可以控制Docker容器以交互式来运行。

 

 

 

 

可以运行该镜像,执行结果如下所示:

 

 

 上面这种执行方式,会在执行命令后进入Docker容器的终端,从而对Docker镜像进行控制,在执行exit退出后,也会随之关闭该镜像。

 

Docker镜像后台运行

此外,我们还可以控制Docker镜像在后台运行,此时,我们不能使用-i和-t参数了,而是使用-d参数指定后台运行Docker容器,使用-c参数指定运行容器的命令。

 

 REF

https://blog.csdn.net/weixin_40228200/article/details/124165198

https://www.cnblogs.com/Alone-8712/p/16559119.html

https://www.cnblogs.com/Alone-8712/p/16559119.html

https://m.runoob.com/docker/docker-container-usage.html

标签:基本,容器,--,使用,镜像,Docker,docker,运行
From: https://www.cnblogs.com/emanlee/p/17074115.html

相关文章

  • Docker command
    reference  https://docs.docker.com/get-started/overview/ImagesAnimageisaread-onlytemplatewithinstructionsforcreatingaDockercontainer.//image是一个只读模板,包含创建Dockercontainer的说明。无论是Java程序还是C++或其他程序,都可以按照Dockerfile......
  • 在JavaScript比较中,应该使用哪个等号运算符(== vs ===)?
    内容来自DOC[https://q.houxu6.top/?s=在JavaScript比较中,应该使用哪个等号运算符(==vs=)?](https://q.houxu6.top/?s=在JavaScript比较中,应该使用哪个等号运算符(vs===)?)我正在使用JSLint来检查JavaScript代码,并且它返回了许多建议,建议在if语句中比较idSele_UNVEHtype.value.......
  • Docker 基础01
    一、容器技术介绍1.1什么是DockerDocker是一个开源项目,诞生于2013年初,基于Google公司退出的Go语言实现。Docker是一个开源的应用容器引擎,基于LXC(LinuxContainer)内核虚拟化技术实现,提供一系列更强的功能,比如镜像、Dockerfile等。Docker是将应用及依赖打包到一个可移植的容器......
  • 基本选择器
    1.id选择器/*id选择器*/#d1{/*找到id是d1的标签*/color:green;}2.类选择器/*类选择器*/.c1{/*找到class值里包含c1的标签*/color:red;}3.元素(标签选择器)/*(元素)标签选择器*/span{/*找到所有的span标签*/color:red;}4.通用选择器/*通用选择......
  • WebSocketTool WebSocket调试工具使用说明
    @[TOC]WebSocketTool概述1WebSocketTool简介        WebSocketTool是一款通用的WebSocket调试工具,基于QT框架开发,可以运行在Windows、Linux和MacOS平台下,具备良好的跨平台能力。WebSocketTool调试工具无需安装,下载后解压就可以使用,是一款绿色的软件,易于部署和使用。可......
  • 2023-02-09-使用simple_term_menu创建更好的python菜单
    +++title="用simple_term_menu创建更好的python菜单"description=""date=2023-02-09T16:25:24+08:00featured=falsecomment=truetoc=truereward=truecategories=[""]tags=["python","menu"]seri......
  • C#使用utf-8读取ini
    参考: c#使用指定编码格式读写iniIniFile.csusingSystem.Runtime.InteropServices;classIniFile{publicIniFile(stringfilePath){m_FilePath=filePath;}privatestringm_FilePath;[DllImport("kerne......
  • 锁表的原理是 数据库使用独占式封锁机制,当执行上面的语句时
    3.1、A程序执行了对tableA的insert,并还未commite时,B程序也对tableA进行insert则此时会发生资源正忙的异常就是锁表;3.2、锁表常发生于并发而不是并行(并行时,一个线程操作数据库时,另一个线程是不能操作数据库的,cpu和i/o分配原则)4、减少锁表的概率:减少insert、update、......
  • Shell基本命令小结
    一、mkdir创建目录和rmdir删除目录1创建目录创建单级目录:mkdiraaa创建多级目录mkdir -p bbb/ccc2删除目录删除空目录:rmdiraaa删除非空目录:(1)rmdirccc(2)rmdirbbb/ 二、touch创建文件和rm删除文件创建文件:touchaaa.txt创建多个文件:touchbbb.txtccc.txt 删除文......
  • 基本的Dos命令
    ##打开CMD的方式1.开始+系统+命令提示符2.Win键+R输入cmd打开控制台(推荐使用)3.在任意的文件夹下面,按住shift键+鼠标右键点击,在此处打开命令行窗口4.资源管理器的地址栏前面加上cmd路径5.管理员方式运行:选择以管理员方式运行##常用的Dos命令("#"命令的意思)```......