Docker常用命令

2023-05-16

虚拟化技术

把真实物理机子中剩余的资源重新整合,创建出来一台新的虚拟的计算机提供给开发者使用。
优点:
   虚拟化使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源利用率,降低成本,加快部署,极大增强系统整体安全性和可靠性。使IT资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。
虚拟化技术有3种不同的实现方案:
1. 硬件虚拟化
   需要购买虚拟化设备
2. 分区虚拟化
   一台电脑下可以实际安装多个操作系统。开机的时候,就固定分配好了内存。 
3. 虚拟机技术[应用虚拟化]
   通过在操作系统中安装软件来实现,例如:VMware,virtualbox,在vm中创建虚拟机,搭建操作系统,在虚拟机运行的时候,由vm动态向真实电脑申请分配硬件资源[cpu,内存,显卡网络等等]。
4. 准虚拟机技术
   是上面第2和第3中的混合产物,不需要安装vm也不需要分区,而是由操作系统本身提供出来了一个虚拟层来实现的。
   例如;xven或者window10的Hyperv都是这种实现。
   
   
因为上面不管哪一种虚拟化技术,都会出现一个问题就是为了让虚拟出来的操作系统能正常运作起来都需要实实在在向真实物理机申请对应的资源。而且为了能让虚拟出来的操作系统能正常运作,物理机要分配各种的硬件资源,这样很大程度上存在资源的消耗,降低物理机的性能。而这个过程用户完全有可能仅仅只是了为运行某几个软件而已。所以为了更好的提升用户的体验,提升系统的性能,减低消耗,所以出现了一种新的虚拟化技术。

容器化技术!!!
比较流行的容器化技术有:docker和pod


docker的使用提供了2种方式:
1. 终端命令[通过终端命令逐步操作]
2. dockerFile[通过脚本对docker进行封装和操作]

Docker 命令

通用命令

查看docker 当前版本
sudo docker version
# 启动docker
sudo service docker start

# 停止docker
sudo service docker stop

# 重启docker
sudo service docker restart

镜像操作[image]

列出所有镜像
sudo docker image ls
# 上面的命令时省略了 --all
sudo docker image ls --all
拉取镜像

如果不指定版本号,默认拉取最新版本的镜像

sudo docker image pull <镜像名称:版本号>
删除镜像

删除的时候,必须注意是否有容器在运行当前镜像文件,如果在使用,则需要先删除容器,才能删除镜像

sudo docker image rm <镜像名称/镜像ID>

删除的镜像如果被容器提前使用了,会报错误

把docker中的镜像打包成文件

用于分享发送给他人,或备份

sudo docker save -o <文件名.tar.gz>  <镜像名:版本号>
把镜像文件加载到docker中
docker load -i <文件名.tar>

容器操作[container]

创建容器

必须先有镜像,才能运行创建容器,需要指定使用的镜像名,并且设置创建容器以后,执行对应的第一条命令

docker run <参数选项>  <镜像名称:镜像版本> <容器启动后的第一个命令>

例如:使用"hello-world"镜像,创建一个容器,但没有进行任何操作

docker run hello-world

例如:使用ubuntu镜像,创建一个名为ubuntu1

docker pull ubuntu:18.04
docker run -it --name=ubuntu1 ubuntu:18.04 bash

注意:必须启动的时候,让容器运行bash解析器,才能在接下来的操作让容器不会立刻关闭,而且也能够让我们可以输入linux终端命令, 如果我们一般创建一个容器,选项都是: -itd

docker run的选项

-t 表示容器启动后会进入其命令行终端

-i 表示以“交互模式”运行容器

–name 表示设置容器的名称

例如,使用ubuntu镜像,创建一个名为ubuntu2,并且在后台运行的容器像

docker run -itd --name=ubuntu2 ubuntu<:版本> ubuntu

-d 创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)

列出所有容器
docker container ls                      # 所有正在启动运行的容器

docker container ls --all                # 所有容器[不管是否在启动运行中]
启动容器【可以同时启动多个容器,容器之间使用空格隔开】
# 启动一个容器
docker container start <容器名称/容器ID>

# 启动多个容器
docker container start <容器名称/容器ID>  <容器名称/容器ID> <容器名称/容器ID>
停止容器
docker container stop <容器名称/容器ID>

# 停止多个容器
docker container stop <容器名称/容器ID>  <容器名称/容器ID>
杀死容器

在容器无法停止的时使用,注意不能滥用,这种操作有可能被导致容器里面运行的文件丢失!!!

docker container kill <容器名称/容器ID>
# 杀死多个容器
docker container kill <容器名称/容器ID>  <容器名称/容器ID>
进入容器

要进入容器,必须当前容器是启动状态的,这个命令不需要加上-d

docker container exec -it <容器名称/容器ID>  <第一个命令>
删除容器
docker  container rm <容器名称/容器ID>

# 删除多个容器
docker  container rm <容器名称/容器ID>  <容器名称/容器ID>
把容器保存成镜像
docker commit <容器名称/容器ID>  <新镜像名:镜像自定义版本>

扩展

使用docker命令需要管理员权限,如果希望每次输入docker相关命令时,不用sudo,可通过以下命令进行设置

sudo usermod -a -G docker $USER
sudo service docker restart
newgrp - docker

官方提供的ubuntu系统镜像,工具命令很少,如希望内部安装ping、ifconfig网卡或者vim等工具,可以通过以下命令进行设置[需要联网,而且耗时]

apt-get update
apt install net-tools        # ifconfig 
apt install iputils-ping     # ping
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker常用命令 的相关文章

  • 基于ubuntu18.04 VNC开机自启动

    本博客内容实现了RK3399 NanoPi NEO4的VNC的开机自启动 xff0c 以及原版桌面的显示 系统 xff1a FriendlyDesktop 最新版本 xff0d 基于Ubuntu 18 04 64位系统构建 易于开发 xff
  • Latex部分斜体变直体

    Latex斜体变为直体 rm即可 未使用之前的效果 xff08 x n 43 1 61 mathop arg min limits x alpha x D n xff09 为了将所有的小写x变为直体 xff0c 将所有的x替换为 rm x
  • Latex打花体

    Latex提供了三种花体 xff0c 注意使用时候提前导入包 xff0c 否则会报错 usepackage amsthm amsmath amssymb usepackage mathrsfs 使用的时候直接掉包即可 下面演示部分效果 xf
  • 遗传算法代码

    全局搜索最优算法 xff08 1 xff09 遗传算法 这里以github上的遗传算法开源库为例子 xff1a 首先我们安装GA xff08 官方说依赖库好像只支持Python 3 xff0c 但是我好像python2也安装成功了 xff0
  • ubuntu安装KVM

    ubuntu安装KVM 现在官网下载ubuntu镜像 xff0c 桌面版或者服务端都可 xff0c 这里以桌面端为例 安装之前确保磁盘有足够大的空间 xff08 这很重要 xff09 安装KVM span class token funct
  • Error: GPG check FAILED

    Error GPG check FAILED 这由于源key错误导致的dnf或者yum xff08 软件包管理器 xff09 安装软件失败 解决的方法很简单 xff0c 有些傻逼博客在那边坑人 xff0c 写的一长串解决办法都不能用 xff
  • Ubuntu彻底卸载Python

    1 查看要卸载的Python版本 若要卸载python2 xff0c 则查看命令为 python2 version 若要卸载python3 xff0c 则查看命令为 python3 version 这里我卸载python3 6 2 卸载Py
  • Ubuntu Python链接指向python3

    1 安装python3 7 sudo apt get install python3 7 2 查看python目前的指向 ls l usr bin grep python 3 删除原有的python链接 sudo rm usr bin py
  • ubuntu安装pip3

    1 安装命令 sudo apt get install python3 pip 2 查看pip3的版本以及对应的python版本 pip3 V pip 21 1 1 from usr local lib python3 7 dist pac
  • latex打双引号“ “

    latex中如果用英文输入模式的双引号键入 xff0c 则输出的结果与我们预期的不符合 xff0c 这并不是LaTeX的正确输入方式 34 test 34 输出为 xff1a 正确的输入方式为 xff1a 引号左边输入两个反引号 96 xf
  • 过拟合的原因以及解决办法(深度学习)

    过拟合 xff1a 模型在训练集上表现的非常好 xff0c 但在测试集的数据下表现很差 具体观察loss函数就是 xff0c train loss一直降低 xff0c 而test loss先降低 xff0c 而后随着epoach的增加 xf
  • Linux与MAC共享以及TimeMachine服务器的搭建

    自从添置了MBPR之后 xff0c 就发现使用Samba协议的话 xff0c Linux与MacOS之间传输速度相当不稳定 xff0c 我还一度以为是MBP的无线网卡问题 随后便尝试了一下AFP协议 xff0c 果然效果立现 xff0c 因
  • Python字符串转数字

    默认转换方式 xff1a num 61 int string 把二进制 xff0c 八进制 xff0c 十六进制转化为数字 xff0c python也提供了内置函数 xff0c 非常方便 xff0c 用法分别如下 xff1a num1 61
  • Linux根据进程名字彻底删除所有相关的子进程

    Linux有些时候kill 9进程pid xff0c 进程名字还会出现 xff0c 比如spark提交应用时的SparkSubmit 这是因为当前进程有其它子进程依赖 此时可以根据进程名字彻底删除 xff0c 这里我提供了一份模板 xff1
  • Python中Json文件的写入与读取

    字典写入Json文件 xff0c 代码如下 xff1a import json sparkConfDict 61 39 defaultMaxSplitBytes 39 defaultMaxSplitBytes 39 openCostInBy
  • Python获取当前工作目录以及改变工作目录

    import os print os getcwd 获取并打印当前工作目录 os chdir 34 目标目录 34 修改当前工作目录为目标目录
  • Linux 手动杀VNC进程

    步骤 方法一 1 查VNC进程 span class token function ps span ef span class token operator span span class token function grep span
  • 记录我重新安装ORBSLAM2和PX4的过程

    1 背景 xff1a 今天卸载了Ubuntu16 04 xff0c 重新装了一个Ubuntu18 04 xff0c 成功做完系统之后需要把之前的备份恢复 我的备份比较粗暴 xff0c 就是直接把 home里的文件都先复制到Windows下
  • 【网络干货】最全BGP路由协议技术详解

    一 BGP 的基本概念 自治系统AS xff08 Autonomous System xff09 AS 是指在一个实体管辖下的拥有相同选路策略的 IP 网络 BGP 网络中的每个 AS 都被分配一个唯一的 AS 号 xff0c 用于区分不同
  • Python正则表达式之 - ?: / ?= / ?!

    用圆括号将所有选择项括起来 xff0c 相邻的选择项之间用 分隔 但用圆括号会有一个副作用 xff0c 使相关的匹配会被缓存 xff0c 此时可用 放在第一个选项前来消除这种副作用 其中 是非捕获元之一 xff0c 还有两个非捕获元是 61

随机推荐

  • Python教程:无参装饰器

    一 xff1a 储备知识 1 args xff0c kwargs span class token keyword def span span class token function index span span class token
  • 面向对象:类关系(泛化/实现/依赖/关联/聚合/组合)

    泛化 泛化 xff0c 也称作继承关系 指面向对象中派生类与基类之间的关系 xff0c 一个类 xff08 称为子类 子接口 xff09 继承另外的一个类 xff08 称为父类 父接口 xff09 的功能 指ClassA为ClassB Cl
  • webpack基本概念及使用

    webpack是什么 xff0c 用来干什么 xff1f webpack 是一个用于现代 JavaScript 应用程序的静态模块打包工具 xff1b webpack的下载安装 官网文档地址 xff1a https webpack js o
  • stlink制作(OSHW版)

    stlink制作安排 视频在我的B站 工程主页在开源硬件平台 0 项目原由 因为我那个板载stlink的NANO板近期要还给老师了 所以我就没有板子和stlink了 xff0c 但是对于一个stmer来说 xff0c 怎么能没stlink呢
  • JS对象销毁

    JS中对象销毁需要注意的几个方面 1 销毁你创建的其他对象 xff0c 并切断应用 2 解绑绑定事件 3 this上的成员变量 xff0c 需要切断引用的要切断 4 有继承时 xff0c 需要调用父类的销毁方法 5 清除dom结构
  • px4初级视频

    链接 xff1a https pan baidu com s 1VIQcOQt I5 evMx1jnV0ZQ 提取码 xff1a 8niq
  • 找工作、备考、面试刷题网站推荐(牛客网、力扣、计蒜客、hihocoder、七月在线)以及acm竞赛oj

    不管是找工作笔试面试白板试进大厂 xff0c 还是研究生参加初试复试 xff0c 数据结构和算法都是都是重中之重 xff0c 刷题就很必要 xff0c 来拿走自己的offer 吧 xff01 一 offer刷题推荐 1 牛客网 链接 xff
  • 安装Homebrew报错 curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

    网上有很多方式 xff0c 这里只说自己解决的方式 xff0c 只针对mac 1 打开网站 https www ipaddress com 查询 raw githubusercontent com 对应的ip地址 2 将查询出来的地址映射加
  • Opencv C++ Tutorial for making your own Haar Classifier

    Opencv C 43 43 Tutorial for making your own Haar Classifier This Opencv C 43 43 Article is about how to make your own Ha
  • 2022-12-19 个人便签1:R&S CMW官方相关手册网址便签

    R amp S CMW官方相关手册网址个人便签 百度了好久CMW的SCPI命令手册 xff0c 然后突然发现官网有给手册网址 xff0c 但是百度没有收录 xff0c 故搬运粘贴到此 关键文档网址 xff1a 主要为Python xff0c
  • IP代理池的获取、维护和池中有效IP的持续使用

    此篇文章可以看作是对知乎分布式爬取中的IP代理设置的扩展 xff0c 记录下IP代理池的获取 维护 和池中有效IP的持续使用 这里还得感谢IP代理池的贡献者 xff0c 我们可以直接在上面下载 xff0c 按照说明配置好环境 xff0c 启
  • ubuntu开机自启vnc虚拟显示器并使用向日葵远程连接

    虚拟显示器 设置开机自动解锁 解锁后打开自动登录 1 预安装 依赖 sudo apt get update sudo apt get install xfce4 sudo apt install gnome panel gnome sett
  • centos7克隆虚拟机

    centos系统克隆后需要修改相关的网络设置 xff0c 但是centos7与centos6 5系统是有区别的 1 centos7 克隆完成之后打开终端 xff0c 查新虚拟机的HWADDR 接下来修改 etc sysconfig netw
  • 【ESP32】利用 sscanf() 字符串参数 %n 解析AT+CNUM指令

    这两天在调试即将完成的Hands Free Profile的AG部分代码 xff0c 在调试与HF Client设备收发AT指令部分时遇到了AT 43 CNUM指令HF Client端 解析AT指令错误 的提示 由于HFP中 xff0c A
  • linux系统中查看己设置iptables规则

    1 iptables L 查看filter表的iptables规则 xff0c 包括所有的链 filter表包含INPUT OUTPUT FORWARD三个规则链 说明 xff1a L是 list的简写 xff0c 作用是列出规则 2 ip
  • VNC报错Can't find file /root/.vnc/host-x.pid You'll have to kill the Xvnc process manually

    1 在vnc服务启动后 xff0c 无论是 xff1a 开机自启 systemctl enable vncserver 64 1 service 启动服务 systemctl start vncserver 64 1 service 2 然
  • ubuntu16.04下安装docker

    本文开发环境为Ubuntu 16 04 LTS 64位系统 xff0c 通过apt的docker官方源安装最新的Docker CE Community Edition xff0c 即Docker社区版 xff0c 是开发人员和小型团队的理想
  • 39 webpack优化-Thread-loader

    Thread loader Webpack的构建过程涉及到大量的文件读写操作 xff0c 系统的I O操作是十分耗时的 xff0c 当要操作的文件数量变得多起来的时候 xff0c Webpack的构建慢的文件就会变得更严重 由于JavaSc
  • C语言入门笔记代码(第一天)

    C语言入门第一天主要是建立编译环境和书籍选择 编译器 xff1a VSCode以及cmd指令操作结合使用 书籍选择 xff1a C Primer plus 第五版 xff08 简单易懂 xff0c 需要先吃透一本书 xff0c 再言其他 x
  • Docker常用命令

    虚拟化技术 把真实物理机子中剩余的资源重新整合 xff0c 创建出来一台新的虚拟的计算机提供给开发者使用 优点 xff1a 虚拟化使用软件的方法重新定义划分IT资源 xff0c 可以实现IT资源的动态分配 灵活调度 跨域共享 xff0c 提