当前位置: 首页 > news >正文

docker基础与常用命令

目录

一.docker概述

1.docker与虚拟机区别

2.Linux 六大命名空间

3.Docker 的核心技术及概念

二.docker部署安装

三.docker常用命令

1.搜索镜像

2.获取镜像

3.查看镜像信息

4.添加镜像标签

5.删除镜像

6.存出与载入镜像

7.上传镜像

8.创建容器

9.查看容器状态

10.容器的启动、关闭与重启

11.创建并启动容器

12.进入容器

13.文件复制

14.容器导出与导入

15.删除容器


一.docker概述

1.docker与虚拟机区别

特性Docker 容器虚拟机
启动速度秒级分钟级
计算能力损耗几乎无损耗 50%左右
性能接近原生弱于
系统支持量(单机)上千个几十个
隔离性资源隔离/限制完全隔离

容器化的优势

  • 灵活:即使是最复杂的应用也可以集装箱化。

  • 轻量级:容器利用并共享主机内核。

  • 可互换:可以即时部署更新和升级。

  • 便携式:可以在本地构建,部署到云,并在任何地方运行。

  • 可扩展:可以增加并自动分发容器副本。

  • 可堆叠:可以垂直和即时堆叠服务。

2.Linux 六大命名空间

命名空间缩写作用效果
MNT挂载文件系统隔离每个命名空间可以有自己的文件系统挂载点
NET网络网络资源隔离每个命名空间可以有自己的网络栈,包括网络接口、路由表等
PID进程进程号隔离每个命名空间有自己独立的 PID 编号空间
IPC间通进程间通信隔离每个命名空间有自己独立的 System V IPC 和 POSIX 消息队列
UTS主机主机名、域名隔离每个命名空间可以有自己的主机名和域名
USER用户用户名、组名隔离每个命名空间可以有自己的用户和组 ID 映射

3.Docker 的核心技术及概念

Docker 容器本质上是宿主机的一个进程,通过以下技术实现资源隔离和限制:

  • Namespace:实现资源隔离。

  • Cgroup:实现资源限制。

  • 写时复制技术(Copy-on-Write):实现高效的文件操作。

docker核心概念:镜像、容器、镜像仓库

二.docker部署安装

1.关闭防火墙

systemctl stop firewalld.service
setenforce 0

2.安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

3.设置阿里源

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4.安装docker-ce并设置开机自启动

yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker.service
systemctl enable docker.service

三.docker常用命令

1.搜索镜像

docker search 关键字

2.获取镜像

docker pull 仓库名称[:标签]

3.查看镜像信息

docker images

docker inspect 镜像ID号(查看镜像详细信息)

4.添加镜像标签

docker tag 名称:[标签] 新名称:[新标签]

如:docker tag nginx:latest nginx:web

5.删除镜像

  • docker rmi 仓库名称:标签:删除指定标签的镜像

  • docker rmi 镜像ID号:彻底删除镜像

如:docker rmi nginx:web

6.存出与载入镜像

存出镜像:

docker save -o 存储文件名 存储的镜像

如:docker save -o nginx nginx:latest

载入镜像:

docker load < 存出的文件 或docker load -i 存出的文件

如:docker load < nginx

7.上传镜像

docker push 用户名/镜像名称:新标签

8.创建容器

  • 格式docker create [选项] 镜像

  • 常用选项

    • -i:开启标准输入接受用户输入命令。

    • -t:分配一个伪终端 tty。

    • -it:合起来实现和容器交互的作用,运行一个交互式会话 shell。

如:docker create -it nginx:latest /bin/bash

9.查看容器状态

docker ps -a

10.容器的启动、关闭与重启

docker start/stop/restart 容器ID

11.创建并启动容器

docker run [选项] 镜像 [命令]

docker run -itd image_name:tag [/bin/bash.....] 下载并将镜像运行为容器(-i 让容器可以接受宿主机的指令、-t 为容器分配一个伪终端,让用户可以"登录"进容器,-d 分配一个守护进程,这样可以让容器运行时不占用前台终端)

12.进入容器

  • docker exec -it 容器ID/名称 /bin/bash

如:docker exec -it 2592d3fad0fb /bin/bash

13.文件复制

  • 复制到容器

    echo abc123 > ~/test.txt
    docker cp ~/test.txt 2592d3fad0fb:/opt/
  • 从容器复制到主机

    docker cp 2592d3fad0fb:/opt/test.txt ~/abc123.txt

14.容器导出与导入

导出:
  docker export 2592d3fad0fb > centos7.tar

 导入:
  cat centos7.tar | docker import - centos7:test
 

15.删除容器

docker rm [-f] 容器ID/名称

  • 删除已终止容器

    docker stop 2592d3fad0fb
    docker rm 2592d3fad0fb
  • 强制删除运行容器

    docker rm -f 2592d3fad0fb

http://www.dtcms.com/a/276015.html

相关文章:

  • 如何让AI更高效
  • 留学真相:凌晨两点被海关拦下时,我才明白人生没有退路
  • 如何用Python编程实现一个简单的Web爬虫?
  • Echarts学习方法分享:跳过新手期,光速成为图表仙人!
  • 【Lucene/Elasticsearch】 数据类型(ES 字段类型) | 底层索引结构
  • 易混淆英语单词对比解析与记忆表
  • 股票的k线
  • BKD 树(Block KD-Tree)Lucene
  • 以太坊重放攻击
  • 特辑:Ubuntu,前世今生
  • 关于学习docker中遇到的问题
  • AI领域的黄埔军校:OpenAI是新一代的PayPal Mafia,门生故吏遍天下
  • 可以用一台伺服电机控制多台丝杆升降机联动使用吗
  • 类和对象—多态
  • C语言:20250712笔记
  • SpringBoot集合Swagger2构建可视化API文档
  • P2619 [国家集训队] Tree I
  • 【Datawhale AI夏令营】Task2 笔记:MCP Server开发的重难点
  • 【LeetCode 热题 100】98. 验证二叉搜索树——(解法一)前序遍历
  • Python 三大高频标准库实战指南——json · datetime · random 深度解析
  • 【Java入门到精通】(二)Java基础语法(上)
  • 27. 移除元素
  • 【android bluetooth 协议分析 07】【SDP详解 1】【SDP 介绍】
  • 19th Day| 530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数, 236.二叉树的最近公共祖先
  • springboot3X 整合高版本mybatisplus
  • pyqt5绘制矩形和线条
  • 【从零开始编写数据库:基于Python语言实现数据库ToyDB的ACID特性】
  • C语言<数据结构-单链表>(收尾)
  • Windows 开启和关闭 Administrator 用户的方法
  • 软考高级系系统分师和架构师常考知识点总结三