系统操作和维护
博客结构
Docker镜像操作
码头集装箱操作
码头资源控制
Docker核心概念
1.Docker是什么?
(1)Docker是一个在Linux容器中运行应用的开源工具,是一个轻量级的“虚拟机”。
Logo设计成蓝鲸,可以算是主机。上面的容器可以理解为隔离的容器,每个容器都包含自己的应用程序。
(2)Docker和虚拟机的区别
Docker作为一种轻量级的虚拟化方式,相比传统虚拟机有着明显的优势。
Docker的优势很多,这和操作系统虚拟化本身的特点是分不开的。传统虚拟机需要额外的虚拟机管理程序和虚拟机操作系统层,而Docker container直接在操作系统层进行虚拟化。
如图所示:
(3)Docker使用场景
现在,开发人员需要能够轻松地创建在云平台上运行的应用程序,他们必须摆脱底层硬件。同时,他们需要随时随地获取这些资源,而这正是Docker所能提供的。Docker的容器技术可以轻松地为主机上的任何应用程序创建轻量级、可移植和自给自足的容器。通过这个容器打包应用程序意味着简化了重新部署和调试的琐碎重复工作,大大提高了工作效率。
2.Docker的核心概念和安装
(1)镜像
Docker的镜像是创建容器的基础,类似于虚拟机的快照。
可以理解为Docker容器引擎的只读模板。例如,映像可以是一个完整的CentOS操作系统环境,称为CentOS。
镜像;它可以是安装了mysql的应用程序,称为Mysql映像,等等。
(2)集装箱
Dooker的容器是一个从镜像创建的运行实例。它可以被启动、停止和删除。创建的每个容器都是一个隔离的、不可见的平台,可以确保安全性。可以把容器想象成一个简单版本的Linux环。
Docker使用容器来运行和隔离应用程序。
(3)仓库
Docker存储库是集中存储图像的地方。当您创建自己的映像时,您可以使用push命令将它上传到公共或私有存储库,这样,当您下次想要在另一台机器上使用该映像时,您只需将它从存储库中取出。
(4)安装对接器
如果主机有网络,可以直接安装。
配置yum
[root @ localhost ~]# RM-RF/etc/yum . repos . d/*
[root @ localhost ~]# vim/etc/yum . repos . d/a . repo
[aaa]
name=asd
baseurl=file:///media
gpgcheck=0
[root @ localhost ~]# mount/dev/cdrom/media/
[root@localhost ~]# yum -y安装docker
安装完成后,您可以启动Docker并将其设置为自动启动。
[root@localhost ~]# systemctl启动docker
[root@localhost ~]# systemctl启用docker
已创建从/etc/systemd/system/multi-user . target . wants/docker . service到/usr/lib/systemd/system/docker . service的符号链接。
[root @ localhost ~]# docker vversion//查看docker版本。
客户:
版本:1.13.1
API版本:1.26
包版本:docker-1 . 13 . 1-75 . git 8633870 . el7 . centos . x86 _ 64
Go版本:go1.9.4
Git提交:8633870/1.13.1
建成时间:Fri 2018年9月28日19时45分08秒
操作系统/架构:linux/amd64
服务器:
版本:1.13.1
API版本:1.26(最低版本为1.12)
包版本:docker-1 . 13 . 1-75 . git 8633870 . el7 . centos . x86 _ 64
Go版本:go1.9.4
Git提交:8633870/1.13.1
建成时间:Fri 2018年9月28日19时45分08秒
操作系统/架构:linux/amd64
实验性:错误
分为服务器端和客户端。
3.Docker镜像操作
(1)搜索图像(假设计算机有网络)
[root@localhost ~]# docker搜索dhcp
索引名称描述STARS官方自动
docker . io docker.io/networkboot/dhcpd适合为你运行DHCP服务器.43[好]
运行在阿尔卑斯Linux 15上的码头工人。io docker.io/joebiellik/dhcpd DHCP服务器[好的]
码头工人。木卫一docker.io/gns3/dhcp一个使用dnsmasq 3的GNS 3 DHCP容器[好的]
码头工人。木卫一docker.io/instantlinux/dhcpd-dns-pxe从一个小型阿尔皮提供DNS、DHCP和普通文件传送协议(Trivial File Transfer Protocol)服务.2[好]
docker.io/ictu/dhcpd-tftpd dhcpd tftpd集装箱1[好]
docker.io/marcelwiget/dhcptester简单动态主机配置协议客户端模拟
(2)获取镜像
[root@localhost ~]# docker拉docker.io/network/dhcpd//下载上面最开头的动态主机配置协议
还有一种就是插入已经下载好的动态主机配置协议
做成光盘插入到主机中
[root @ localhost ~]# mount/dev/cdrom/media/
[root@localhost ~]# cd /media/
[root@localhost media]# ls
动态主机配置协议
[根@本地主机媒体]# cp dhcp /
[根@本地主机媒体]#
[root @ localhost/]# docker load DHCP
fccbfa2912f0:加载层116.9 MB/116.9 MB
e1a9a6284d0d:加载层15.87千字节/15.87千字节
ac7299292f8b:加载层14.85 kB/14.85 kB
a5e66470b281:加载层5.632千字节/5.632千字节
a8de0e025d94:加载层3.072千字节/3.072千字节
e29955c5aa:加载层12.7兆字节/12.7兆字节
12e 14 fab 4d 4:加载层49.15 kB/49.15 kB
47bdfd3bbf39:加载层4.096千字节/4.096千字节
加载图像:docker.io/networkboot/dhcpd:最新
将镜像下载到本地
(3)查看镜像信息
[root@localhost /]# docker图像
存储库标记图像ID //镜像身份证明创建的大小
docker.io/networkboot/dhcpd最新6f98b6b9b486 19个月前125兆字节
存储库:镜像属于的仓库。
标签:镜像的标签信息,标记同一个仓库中的不同镜像。
图像ID:镜像的唯一身份证明号,唯一标识了该镜像。
创建时间:镜像创建时间。
创建时间:镜像创建时间。
[root @ localhost/]# docker inspect 6 f 98 b 6 b 9 b 486 \ \ \查看镜像身份证明详细信息
镜像的详细信息中包括创建时间、系统版本。主机名。域名。用户。卷。标签。操作系统。设备身份证明等各种信息。
[root@localhost /]# docker标签docker.io/networkboot/dhcpd DHCP:DHCP
第一个dhcp:名称
第二个dhcp:标签
(4)删除镜像
[root @ localhost/]# docker RMI DHCP:DHCP
未标记:dhcp:dhcp
四。码头工人容器操作
容器是码头工人的另一一个核心概念,简单来说,容器是镜像的一个运行实例,是独立运行的一个或一组应用及它们所必需的运行环境,包括文件系统、系统类库。壳环境等。镜像是只读模板,而容器会给这个只读模板一个额外的可写层
(1)容器的创建与启动
[root @ localhost/]# docker创建it docker.io/networkboot/dhcpd/bin/bash
e 392026 DDD 186d 01 CBD 3306 acae 15 f 2f 197 DC 9874 a 84 ea 241d 347 c 7 Fe 20 a 0946
常用选项:-我表示让容器的输入保持打开:-t表示让码头工人分配一个伪终端。
[root @ localhost/]# docker PS-a \ \ \ \ \ \ \查看所有容器运行状态
容器身份证明映像命令创建的状态端口名称
e 392026 docker.io/networkboot/dhcpd/entry角DDD 18号。sh/b.大约一分钟前创造了优雅_goldwasser
输出信息显示容器的身份证明号。加载的镜像。运行的程序。创建时间、目前所处的状态、端口映射。容器名称等。其中状态-栏为创造表示当前的容器是新创建的并处于停止状态。
[root @ localhost/]# docker start e 392026 DDD 18 \ \ \ \ \启动容器,上面的身份证明
e392026ddd18
容器启动后,可以看到容器状态一栏已经变为向上,表示容器已经处于启动状态。
(2)容器的运行与终止
[root@localhost /]# docker stop容器的身份证明号
(3)容器的进入
[root @ localhost/]# docker exec-it e 392026 DDD 18/bin/bash
root@e392026ddd18:/#
用户可以通过创建的终端输入命令,并通过exit命令退出容器。
root@e392026ddd18:/# ls
bin核心entry point . sh home lib 64 mnt proc run SRV tmp var
引导开发等库媒体选项根sbin系统usr
root@e392026ddd18:/# exit
出口
(四)集装箱进出口
容器被最小化,有些命令无法使用,需要从容器导出到本地进行设置,设置好之后再导入到容器中。
导出命令如下所示:
[root @ localhost/]# docker export e 392026 DDD 18/etc/DHCP/dhcpd . conf
随机数是容器的ID号。
导出dhcp主配置文件来配置,
导入命令如下所示:
[root @ localhost/]# docker import/etc/DHCP/dhcpd . conf e 392026 DDD 18
(5)删除容器
您可以使用dockerrm命令删除状态已终止的容器。
一个镜像可以包含多个容器。
[root @ localhost/]# docker Stop e 392026 DDD 18 \ \ \ \ \ \首先停止。
e392026ddd18
[root @ localhost/]# docker RM e 392026 DDD 18 \ \ \ \ \再次删除。
e392026ddd18
[root@localhost /]# docker ps -a
容器ID映像命令创建的状态端口名称
动词(verb的缩写)码头资源控制
Cgroup,简称Controlgroup,是Linux内核提供的一种限制使用物理资源的机制,主要包括CPU、内存和blkio。先说Docker是如何利用Cgroup机制来管理这三个方面的。
(1)限制CPU使用率
例如,将容器60ff4594cc73的CPU使用率设置为20000,并将CPU使用率限制设置为20%:
[root @ localhost ~]# echo 20000 gt;/sys/fs/cgroup/cpu/system。slice/docker-60ff 4594 cc73b 5474477 636 b 25 b41f 16e 1 66a 3606 aed 22 6522d 420d 0c 296990d。范围/cpu。cfs_配额_美国
(2)多任务按比例共享CPU
例如,以1: 1: 2的CPU资源比率运行三个新容器A、B和C,可以如下执行:
[root @ localhost/]# docker run-tid-CPU-shares 1024 Mirror A
[root @ localhost/]# docker run-tid-CPU-shares 1024 mirror b。
[root @ localhost/]# docker run-tid-CPU-shares 2048 mirror c。
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理官网:www.chenqinet.cn。