docker快速上手使用
文章目录
- 一、docker概述
- 1. 为什么需要docker
- 2. 什么是docker
- 3. docker和虚拟机的区别
- 4. docker三要素
- 二、docker安装
- 1. 添加app源
- 2. 安装docker社区版
- 3. 更换国内docker镜像源
- 三、docker基本使用方法
- 1. 获取镜像
- 2. 查看当前系统中的docker镜像
- 3. 运行docker容器
- 4. 查看当前存在的容器
- 5. 进入容器
- 6. 停止容器
- 7. 删除容器
- 8. 删除镜像
一、docker概述
1. 为什么需要docker
在项目开发阶段经常听到一句话:代码在我这里跑正常,为什么在你的机器上就出bug?
docker就是为了解决此问题诞生,将整个环境打包一起交付,这样保证开发环境、测试环境、正式环境都是一样的,避免因为环境不一致而产生不必要的问题。
2. 什么是docker
docker是基于go语言实现的开源项目,主要理念是:Build、ship and run any app,anywhere(在任何地方构建、发布、并运行任何项目)。
docker是解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。

3. docker和虚拟机的区别
虚拟机是模拟一套完整的计算机硬件,在模拟的硬件上运行起来新的操作系统,启动慢,占用资源大。
Linux内核中提供了容器技术(Container)的支持,利用namespace将进程之间隔离,利用cgroup限制特定进程的资源使用。
基于Linux内核提供的容器技术,docker不需要模拟一套硬件,甚至都不需要新的操作系统内核,提供一套新的rootfs即可,带来的优点如下:
- 每个容器有自己的文件系统,容器之间相互隔离,容器之间的进程不会影响
- 启动快,开销小
4. docker三要素
docker整体架构图如下:

(1)安装docker启动之后,在本机就会有一个docker守护服务,称之为docker host
(2)用户通过docker client 执行命令去和docker host进行交互
(3)用户可以将常用的一些docker镜像从docker hub(docker镜像中心)拉取到本地
(4)用户想要运行某个拉取到本地的镜像时,docker host会创建一个加载了该docker镜像的全新docker容器
这段话不需要理解,在接下来的安装和使用过程中体验这段话所表述的意思即可。
二、docker安装
在Ubuntu20.04上安装方法如下。
1. 添加app源
更新索引:
sudo apt-get update
添加docker官方的GPG密钥:
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
添加仓库app源(注意架构,我的是amd64):
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ $(lsb_release -cs) stable"
2. 安装docker社区版
更新索引:
sudo apt-get update
安装docker社区版:
sudo apt-get install docker-ce docker-ce-cli containerd.io
查看docker版本:

3. 更换国内docker镜像源
新建 /etc/docker/daemon.json 文件,添加以下内容,替换为腾讯云提供的docker源:
{"registry-mirrors":["https://mirror.ccs.tencentyun.com"]}
重启服务:
sudo systemctl daemon-reload
sudo systemctl restart docker
三、docker基本使用方法
1. 获取镜像
docker官方提供了常用的docker镜像,包括ubuntu、centos、fedora等基本的操作系统,nginx、mysql、redis、python等基本的运行环境。
docker hub官方地址:https://hub.docker.com/。
比如拉取18.04版本的ubuntu镜像:
sudo docker pull ubuntu18.04

2. 查看当前系统中的docker镜像
查看已经pull下来的docker镜像:
sudo docker images
该docker镜像仅占用63.1MB,开销非常小:

3. 运行docker容器
docker会启动一个容器,该容器会将docker镜像加载进来。
-d:表示容器在后台运行-i:表示交互式操作-t:表示终端--name:指定容器名称
docker run [参数] <要启动的docker镜像名称> [进入容器后要执行的程序]
(1)启动容器并直接进入
sudo docker run -it ubuntu /bin/bash

(2)在后台启动一个容器,并设置容器名字为ubuntu-test
sudo docker run -it -d --name ubuntu-test ubuntu:18.04 /bin/bash

4. 查看当前存在的容器
sudo docker ps -a

5. 进入容器
进入后台正在运行的容器:
sudo docker exec -it <容器id> <进入容器后执行的程序>

同时,这里我验证了容器中和容器外查看内核版本,用的是同一个内核。
6. 停止容器
sudo docker stop <容器id>

7. 删除容器
sudo docker rm <容器id>

8. 删除镜像
sudo docker rmi <镜像名称>

相关文章:
docker快速上手使用
文章目录一、docker概述1. 为什么需要docker2. 什么是docker3. docker和虚拟机的区别4. docker三要素二、docker安装1. 添加app源2. 安装docker社区版3. 更换国内docker镜像源三、docker基本使用方法1. 获取镜像2. 查看当前系统中的docker镜像3. 运行docker容器4. 查看当前存在…...
<c++> 类的构造函数与类的析构函数
文章目录类的构造函数什么是构造函数声明和定义构造函数如何使用构造函数默认构造函数类的析构函数什么是析构函数声明和定义析构函数小练习银行账户执行效果类的构造函数 什么是构造函数 Q:什么是类的构造函数 A:构造函数是类的一种特殊成员函数,不需…...
华为OD机试真题Java实现【玩牌高手】真题+解题思路+代码(20222023)
玩牌高手 给定一个长度为n的整型数组,表示一个选手在n轮内可选择的牌面分数。选手基于规则选牌, 请计算所有轮结束后其可以获得的最高总分数。 选择规则如下: 1、在每轮里选手可以选择获取该轮牌面,则其总分数加上该轮牌面分数,为其新的总分数。 2、选手也可不选择本轮…...
Hive Sql整体优化思路
如果遇到sql性能问题,可以先查看4040页面的sql执行信息。一个sql解析为多个stage,一个stage分为多个task。对问题Sql的某一个stage,基本的分析思路如下:所有的task都慢,检查下是否有笛卡尔积(关联字段重复值、关联字段…...
【华为OD机试模拟题】用 C++ 实现 - 数组的中心位置(2023.Q1)
最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…...
取指定数值的地址 (int 转 void *)
int a 0x12345678 是一个地址void *p (void *)a; 提示下马错误;Error: cast to pointer from integer of different size [-Werrorint-to-pointer-cast]This error occurs when there is an attempt to convert an integer to a pointer of a different size. Thi…...
C#的多线程、线程池和Task
线程 被定义为程序的执行路径。每个线程都定义了一个独特的控制流。如果您的应用程序涉及到复杂的和耗时的操作,那么设置不同的线程执行路径往往是有益的,每个线程执行特定的工作。 线程是轻量级进程。一个使用线程的常见实例是现代操作系统中并行编程的…...
Day20【元宇宙的实践构想06】—— 元宇宙与Web3.0
💃🏼 本人简介:男 👶🏼 年龄:18 🤞 作者:那就叫我亮亮叭 📕 专栏:元宇宙 部分资料参考文献: 成生辉教授的《元宇宙:概念、技术及生态》和百度相关…...
极限熵和冗余度
本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:information-theory】,需要的朋友们自取。或者公众号【AIShareLab】回复 信息论 也可获取。 信息冗余度(多余度、剩余…...
女生学习大数据专业未来前景怎么样
学习大数据与性别没有什么太大关系,各有优势。就目前的发展前景来说,大数据还是非常不错的,至于好不好就业就要看你个人学习的怎么样,以及学历是否过关了~ 据《新职业——大数据工程技术人员就业景气现状分析报告》显示ÿ…...
主题模型实践
目录 一.TF-IDF 二.LSI 三.相似度 四.主题和主题分布 五. LDA计算的相似度 六.LDA过程 七.主题 八.主题和主题分布 九.数据处理流程 十.常用正则表达式 十一.代码 一.TF-IDF 二.LSI 三.相似度 四.主题和主题分布 五. LDA计算的相似度 六.LDA过程 七.主题 八.主题和主…...
按字典序排列的最小的等价字符串[拆解并查集]
并查集前言一、按字典序排列的最小的等价字符串二、并查集总结参考文献前言 并查集有什么用?并查集是什么?搞懂这两个问题,相关的并查集问题就变得非常easy! 一、按字典序排列的最小的等价字符串 二、并查集 有一种方法&#x…...
操作系统——6.系统调用
目录 1.概述 2.系统调用的定义和作用 2.1 定义 2.2 功能 2.3 分类 3.系统调用和库函数的区别 4.系统调用背后的过程 5.小结 1.概述 这篇文章我们主要来介绍一下操作系统中的系统调用,下面来看一下具体的框架图: 2.系统调用的定义和作用 2.1 定…...
JavaScript DOM操作
目录 获取元素: 修改元素属性: 添加、删除、替换元素: 修改样式: DOM(文档对象模型)是一种用于操作 HTML 和 XML 文档的 API。JavaScript 通过 DOM API 可以访问和操作页面中的元素、属性和样式等。 获…...
【数据结构】顺序表
文章目录前言初始化顺序表打印顺序表检查容量判空顺序表数据个数尾部插入尾部删除头部插入头部删除在pos位置插入数据删除pos位置的数据查找数据修改数据销毁顺序表整体代码写在最后前言 顺序表作为数据结构中的小小弟,还是很好应付的。说到数据结构,顺序…...
【人工智能 AI 】RPA 架构师需要具备的技能有哪些?RPA Solution Architect
RPA 架构师需要具备的技能有哪些?使用markdown格式,不少于3000字,细化到3级目录。 文章目录 一、RPA架构师需要具备的技能1. 对RPA的理解2. 对RPA技术的熟练掌握2.1 RPA系统的架构模式2.2 RPA软件的操作模式2.3 RPA程序的编写方式3. 对RPA应用的知识4. 对软件开发的基本知识…...
【模拟集成电路】鉴频鉴相器设计(Phase Frequency Detector,PFD)
鉴频鉴相器设计(Phase Frequency Detector,PFD)前言一、 PFD的工作原理二、 PFD电路设计(1)PFD电路图(2)D触发器电路图(3)与非门(NAND)电路图&…...
【Linux】进程间通信介绍 | 管道
🌠 作者:阿亮joy. 🎆专栏:《学会Linux》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉进程间通信…...
这次说说腾讯的一场 35K—55K 的 Android 高工面试
一、面试的由来 事情是这样的,因为跟公司发展一些想法的不同,早在十月份的时候就有了跳槽的想法,但是碍于老大的面子就一直就没有跟人事说出口,打算着等到年后金三银四在试试跳槽。 但是发生一件事终于让我忍不住了,…...
Jenkins第一讲
目录 一、Jenkins 1.1 敏捷开发与持续集成 1.1.1 敏捷开发 1.1.2 持续集成 1.2 持续集成工具 1.2.1 jenkins和hudson 1.2.2 技术组合 1.2.3 部署方式对比 1.3 安装Jenkins 1.3.1 下载Jenkins的war包 1.3.2 开启Jenkins 1.4 Jenkins全局安全配置 1.5 使用Jenkins部…...
老旧小区门禁改造:业主权益与合规指引
一、费用来源与使用规范小区门禁改造并非全部由业主自费承担,可按合规渠道统筹资金,优先使用公共补贴与专项维修资金。资金使用优先级:政府老旧小区改造财政补贴>住宅专项维修资金>业主自筹财政补贴:老旧小…...
Google三星AI眼镜来了,开发者该关注什么
AI 眼镜又回来了,但这次不只是换个硬件外壳AI 眼镜这个话题,最近又被推到了台前。Google 在 I/O 2026 展示了基于 Android XR 的智能眼镜方向,并把三星、Gentle Monster、Warby Parker 等合作方一起摆上台面。按照目前公布的信息,…...
内网服务器福音:手把手教你搞定Supervisor 4.0.4离线安装(附CentOS 7.6 + Python 2.7.5环境避坑指南)
内网环境下的Supervisor 4.0.4离线部署全攻略:从依赖解析到避坑实践 在金融、政务等安全敏感领域,生产服务器往往部署在严格隔离的内网环境中。这种架构虽然保障了系统安全性,却给运维工具链的部署带来了独特挑战——无法直接通过pip install…...
AI代理开发终极指南:深度解析Awesome Agent Skills中Google Gemini官方技能
AI代理开发终极指南:深度解析Awesome Agent Skills中Google Gemini官方技能 【免费下载链接】awesome-agent-skills A curated collection of 1000 agent skills from official dev teams and the community, compatible with Claude Code, Codex, Gemini CLI, Curs…...
CANN/pypto量化矩阵乘法
pypto.scaled_mm 【免费下载链接】pypto PyPTO(发音: pai p-t-o):Parallel Tensor/Tile Operation编程范式。 项目地址: https://gitcode.com/cann/pypto 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√ 功能说明 实现mat_…...
嘉立创EDA:原理图到PCB学习总结
1.原理图: 关于原理图绘制可以看项目需要哪些板块,去网上搜索开源项目跟着上面一步一步绘制即可,或者利用豆包来一步一步生成板块 主要要注意: 电源要加电容进行滤除杂波 一般带有功能的引脚是3.3V不要输入5V到这些IO口降压芯…...
rebar3最佳实践清单:避免常见陷阱的20个专业建议
rebar3最佳实践清单:避免常见陷阱的20个专业建议 【免费下载链接】rebar3 Erlang build tool that makes it easy to compile and test Erlang applications and releases. 项目地址: https://gitcode.com/gh_mirrors/re/rebar3 rebar3是Erlang生态系统中最流…...
国内大学生必备的AI论文写作工具有哪些?
国内高校学生常用的 AI 论文写作工具,以本土化全流程工具为主,结合通用大模型与专业辅助功能,覆盖选题、框架搭建、初稿撰写、查重降重、格式调整等关键环节,以下是主流工具详解与对比:一、本土全流程论文 AI 工具&…...
在Node.js项目中集成Taotoken实现稳定的大模型调用
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Node.js项目中集成Taotoken实现稳定的大模型调用 对于需要在产品中集成AI能力的中小型团队而言,开发过程常常伴随着一…...
抖音批量下载器终极指南:5步实现无水印视频高效下载
抖音批量下载器终极指南:5步实现无水印视频高效下载 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support…...
