CLOUD 云计算进阶(四)-Docker 容器部署与管理

本文深入解析Docker容器技术,涵盖容器技术的核心原理、Docker的优势与局限性,以及如何在实际环境中部署和管理Docker。从资源管理、进程隔离到安全策略,Docker如何实现更快速的交付、高效的资源利用、简便的迁移与扩展,以及更新管理的简化。同时,文章还介绍了Docker镜像的管理,包括镜像的创建、下载、上传、备份与恢复,以及镜像仓库的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CLOUD 004
DocKer
一  什么是容器:
容器技术已经成为应用程序封装和交付的核心技术
容器技术的核心有以下几个内核技术:
Cgroup 资源管理
NameSpace 进程隔离
SElinux安全
由于是在物理机上实行隔离,启动一个容器,可以像启动一个进程一样快速

二 Docker 的优点
更快速的交付和部署:开发人员可以使用镜像快速的构建标准开发环境;开发完成后,测试和运维人员可以使用开发人员提供的docker镜像快速部署应用,可以避免开发和测试运维人员之间的环境差异导致的部署问题。

更高校的资源利用:Docker容器的运行不需要额外的虚拟化管理程序支持,它是内核级的虚拟化,在占用更少资源的情况实现更高的性能。

更方便的迁移和扩展:Docker容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、服务器等。这种兼容使得用户可以在不同的平台之间很方便的完成应用迁移。

更简单的更新管理:使用Dockerfile,只需要小小的配置修改,就可以替代以往大量的更新工作,并且所有修改都以增量方式进行分发和更新。

1、简化程序:
Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。

2、避免选择恐惧症:
如果你有选择恐惧症,还是资深患者。那么你可以使用 Docker 打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。

3、节省开支:
一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。

三 什么是Docker
Docker 是完整的一套容器管理系统
Docker 提供一组命令.让用户更加方便直接的使用容器技术,而不需要更多地关心底层内核技术.
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化

Docker是基于Go语言实现的云开源项目。Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或者数据库应用等等)及其运行环境能够做到“一次封装,到处运行
我们可以将容器理解为一种沙盒。每个容器内运行一个应用,不同的容器相互隔离,容器之间可以建立通信机制。容器的创建和停止都十分快速(秒级),容器自身对资源的需求十分有限,远比虚拟机本身占用的资源少。

1优点:1相比传统虚拟化技术 ,容器更加简洁高效
 2传统虚拟机需要给每一个虚拟机安装操作系统
 3容器使用共享公共库和程序
在这里插入图片描述

四 容器缺点:容器的隔离性没有虚拟化强
共用Linux 内核,安全性有先天缺陷
SELinux 难以驾驭
监控容器和容器排错有挑战


五 部署docker
1 安装环境准备

  1. 64 位操作系统
    2)RDHEL6.5以上,推荐RHEL7(内核3.0以上)
  2. 关闭防火墙 Docker/openstack 都会接管系统防火墙

2 安装docker
1)配置yum源
Mount RHEL7-extras.iso /var/ftp/extras
Mkdir /var/ftp/extras
2 )环境准备两台虚拟机docker 1 docker2

[extras]
name=CentOS-$releasever - Extras
baseurl=“ftp://192.168.1.254/extras
enabled=1
gpgcheck=0
3 软件包安装
[@rootdocker 1]# yum -y install docker


六 Docker 镜像
1)什么是镜像
在docker 中容器是基于镜像启动的
镜像是启动容器的核心
镜像采用分层设计
使用快照的Cow技术,确保底层数据不丢失

在这里插入图片描述

Docker hub 镜像仓库
http://hub.docker.com
Docker 官方提供镜像的仓库

1 下载一个busybox 的镜像
查找镜像:Docker search busybox
下载镜像:Docker pull docker.io/busybox
查看镜像:Docker images

上传镜像
Docker push
Docker help push 查看帮助
Man docker-search  查看man帮助

2 导入导出镜像
docker images
REPOSITORY TAG  IMAGE ID(仓库的唯一标识)   CREATED
仓库名(唯一)标签名(唯一) -> 对应唯一的ID

镜像另存为tar 包:
docker save(备份) docker.io/busybox:latest -o(output 到哪里) ff(文件名)

docker save docker.io/busybox:latest -o busybox.tar
tar -tvf busybox.tar ->备份

恢复镜像docker2 -> docker 1
[root@docker2 ~]# rsync -av busybox.tar root@192.168.1.30:/root
或者scp busybox.tar root@192.168.1.30:/root
导入镜像
[root@docker1 ~]# docker load  -i busybox.tar
Loaded image: docker.io/busybox:latest
[root@docker1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/busybox latest db8ee88ad75f 2 weeks ago

导入真机的镜像到docker1 docker2
真机操作
Scp /linux-soft/04/docker/* root@192.168.1.30 \ 1.31
Rsync -av /linux-soft/04/docker/* root@192.168.1.30 \1.31
四个镜像:nginx.tar centos.tar redis.tar ubuntu.tar

Docker 1 :docker images
Dcoker2 :docker images

3 启动镜像 
镜像是生成容器用的
[root@docker1 ~]# docker images
Docker run -it dockerr.io/centos:iatest /bin/bash
Docker run -it =virsh define +start+console
开启另一个终端:
[root@docker1~]#docker ps =virsh list

4 debian和redhat 的区别 (拓展)
商业版本以Redhat为代表,开源社区版本则以debian为代表。
Debian dpkg apt-get
Redhat rpm yum

Rpm -qa dpkg-l
Rpm -ql net-tools dpkg-L passwd


二  镜像命令
Docker images
Docker histroy 镜像制作历史
Docker inspect 镜像低层详细信息
Docker pull 下载
Docker push 上传
Docker rmi 删除本地镜像
Docker save 镜像另存tar 包
Docker search 搜索镜像
Docker tag  修改镜像名和标签
Docker load  tar 包导入镜像

Docker images
docker pull docker.io/busybox
docker inspect redis:iatest
docker history docker.io/centos:latest
Docker search redis
docker load -i busybox.tar
docker save docker.io/busybox -o busybox.tar
docker rmi ooxx:latest
docker tag docker.io/busybox:latest ooxx:latest


容器常用命令
Docker run 运行容器
Docker ps 查看容器列表  -a(所有容器) -q(容器ID)
Docker stop 关闭容器
Docker start 启动容器
Docker restart
Docker attach | exec  -it 进入容器
Docker inspect 查看容器底层详细信息
Docker top 查看容器进程
Docker  rm 删除容器 
Yum -y install net-tools iproute psmisc bash-completion

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~上善若水~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值