阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Docker 从入门到精通(一)基本操作

328次阅读
没有评论

共计 3544 个字符,预计需要花费 9 分钟才能阅读完成。

导读 Docker 是一个能够把开发应用程序自动部署到容器的开源引擎。它由 Docker 公司的团队编写,基于 Apache 2.0 开源协议授权。它提供了一个简单、轻量的建模方式,使开发生命周期更高效快速,鼓励了面向服务的架构设计。
一,为什么要用 Docker?

Docker 是一个能够把开发应用程序自动部署到容器的开源引擎。它由 Docker 公司的团队编写,基于 Apache 2.0 开源协议授权。它提供了一个简单、轻量的建模方式,使开发生命周期更高效快速,鼓励了面向服务的架构设计。Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。Docker 的基础是 Linux 容器 (LXC) 等技术。在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。

Docker 的特点:

1,更快速的交付和部署
2,更高效的虚拟化
3,更轻松的迁移和扩展
4,更简单的管理

容器技术与传统虚拟机性能对比:

Docker 从入门到精通(一)基本操作

Docker 与虚拟机建构对比

Docker 从入门到精通(一)基本操作

Docker 容器本质上是宿主机上的一个进程。Docker 通过 namespace 实现了资源隔离,通过 cgroups 实现了资源的限制,通过写时复制机制 (copy-on-write) 实现了高效的文件操作。

Docker 有五个命名空间:

进程、网络、挂载、宿主和共享内存
为了隔离有问题的应用,Docker 运用 Namespace 将进程隔离,为进程或进程组创建已隔离的运行空间,为进程提供不同的命名空间视图。这样,每一个隔离出来的进程组,对外就表现为一个 container(容器)。需要注意的是,Docker 让用户误以为自己占据了全部资源,但这并不是”虚拟机”。

Docker 中的三个概念:镜像,容器,仓库

1、镜像(image):Docker 镜像就是一个只读的模板,镜像可以用来创建 Docker 容器。Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。
镜像是一种文件结构。Dockerfile 中的每条命令都会在文件系统中创建一个新的层次结构,文件系统在这些层次上构建起来,镜像就构建于这些联合的文件系统之上。Docker 官方网站专门有一个页面来存储所有可用的镜像,网址是:index.docker.io。
2、容器(Container):容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Linux 环境,Docker 利用容器来运行应用。镜像是只读的,容器在启动的时候创建一层可写层作为最上层。
3、仓库:仓库是集中存放镜像文件的场所,仓库注册服务器 (Registry) 上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。目前,最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。
Docker 仓库用来保存我们的 images,当我们创建了自己的 image 之后我们就可以使用 push 命令将它上传到公有或者私有仓库,这样下次要在另外一台机器上使用这个 image 时候,只需要从仓库上 pull 下来就可以了。Docker 仓库的概念跟 Git 类似,注册服务器可以理解为 GitHub 这样的托管服务。

二,安装 Docker

前提条件:Docker 运行对内核要求比较高,因此一般建议直接在 Ubuntu 这样的平台运行。但作为一个容器标准,Docker 也是支持其他如 CentOS, Mac OS X, Windows 等平台。目前 Docker 支持以下版本 CentOS:CentOS 7(64 位)CentOS 6.5(64 位)及以后在运行 CentOS 6.5 及以后版本时,需要内核版本 >=2.6.32-431,因为这些内核包含了运行 Docker 的一些特定修改。
Docker 默认使用 AUFS 作为存储驱动,但是 AUFS 并没有被包括在 Linux 的主线内核中。CentOS 中可以使用 Device Mapper 作为存储驱动,这是在 2.6.9 内核版本引入的新功能。我们需要先确认是否启用该功能:

CentOS 7 安装

Docker RPM 包已经包含在 CentOS-Extra 仓库中,所以我们可以直接使用 Yum 安装:

# yum install docker
CentOS 6.6 安装

需要注意的是,CentOS6.6 中,已经有一个同名 docker 的可执行系统程序包。所以 Docker RPM 包命名为 docker-io,我们先卸掉 docker。

# yum -y remove docker

第三步 Install Docker-IO

# yum -y install docker-io

这样完成了 Docker 的安装。

# /etc/init.d/docker start #启动 docker
# docker info #查看 docker 基本信息
三,Docker 基本操作
# docker search centos #搜索容器
# docker pull centos #下载容器
# docker images #查看当前存在的镜像
# docker run centos /bin/echo 'hello world' #运行一条命令后直接退出
# docker run --name mydocker -it centos /bin/bash #进入 docker 容器
-t 选项让 Docker 分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上,-i 则让容器的标准输入保持打开。–name 使用一个自定义的名字
# docker run -d --name mynginx nginx #启动 nginx 镜像,没有会自动 pull
# docker stop bfd094233f96 #停止一个容器,根据容器 id 进行删除
# docker rm bfd094233f96 #删除一个容器
# docker attach d20f3dc6cd92 #进入一个正在运行的容器

此命令不太好用,建议使用以下命令进入容器:

[root@localhost docker]# docker inspect --format "{{.State.Pid}}" mynginx #获取容器 pid
19769
[root@localhost docker]# nsenter --target 19769 --mount --uts --ipc --net --pid #进入容器(推荐方法)
# docker run -d -p 91:80 --name mynginx2 nginx # -p 指定端口映射,将 80 映射为 host 的 91

存储镜像:

# docker save -o ubuntu_14.04.tar ubuntu:14.04

载入镜像:

# docker load < ubuntu_14.04.tar 或者使用
# cat ubuntu.tar | docker import - test/ubuntu:v1.0

移除本地镜像:

# docker rmi training/sinatra

清理所有未打过标签的本地镜像:

# docker rmi $(docker images -q -f "dangling=true")
其中 -q 和 -f 是 quiet,–filter 的缩写, 完整的命令其实可以写着下面这样,是不是更容易理解一点?# docker rmi $(docker images --quiet --filter "dangling=true")
注:容器是否会长久运行,是和 docker run 指定的命令有关,和 -d 参数无关。

要获取容器的输出信息,可以通过 docker logs 命令。

# docker logs [container ID or NAMES]

删除容器:

# docker rm 默认并不会删除运行中的容器

有关容器和镜像的底层信息:

# docker inspect container/image

可以查看:
容器实例的 IP 地址端口绑定列表
特定端口映射的搜索
收集配置的详细信息
从容器内复制文件到指定的路径上:

docker cp container:path hostpath

使用 Dockerfile 来构建镜像:

docker build [options] PATH | URL
–rm=true 表示构建成功后,移除所有中间容器
–no-cache=false 表示在构建过程中不使用缓存

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计3544字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7977213
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛 NAS-1:安装飞牛 NAS 前言 在家庭和小型工作室场景中,NAS(Network Atta...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛 NAS-8:有了 NAS 你可以干什么?软件汇总篇 前言 哈喽各位玩友!我是是星哥,不少朋友私...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...