容器技术概述|镜像与容器|docker配置管理
- 什么是容器
 - 优点
 - 缺点
 
- docker与容器
 - 跳板机yum源添加docker软件
 - 在node节点验证软件包
 - 开启路由转发
 
- 镜像管理&容器管理
 - 如何获取镜像
 - 镜像备份与恢复
 - 运行容器
 - 查看镜像的启动信息
 - 镜像管理命令
 - 容器管理命令
 - 容器内部署应用
 
什么是容器
就是将软件打包成标准化单元,用于开发、交付和部署。容器技术已经成为应用程序封装和交付的核心技术。
 容器技术的核心有以下几个内核技术组成:
- 资源管理
 - 安全
 - 命令空间
 
优点
- 相比于传统的虚拟化技术,容器更加简洁高效
 - 传统虚拟机需要给每个VM安装操作系统
 - 容器使用的共享公共库和程序
 
缺点
- 容器的隔离性没有虚拟化强
 - 共用linux内核,安全性有先天缺陷

 
docker与容器
Docker是完整的一套容器管理系统,提供了一组命令,让用户更加方便直接使用容器技术,而不需要过多关心底层内核技术。
 
 
跳板机yum源添加docker软件
[root@ecs-proxy ~]# cp -a docker /var/ftp/localrepo/
[root@ecs-proxy ~]# cd /var/ftp/localrepo/
[root@ecs-proxy localrepo]# createrepo -update . 
 
在node节点验证软件包
[root@docker-0001 ~]# yum makecache
[root@docker-0001 ~]# yum list docker-ce*
 
以下操作在所有node节点操作
开启路由转发
[root@docker-0001 ~]# vim /etc/sysctl.conf
net.vip4.ip_forward=1
[root@docker-0001 ~]# sysctl -p
[root@docker-0001 ~]# yum install -y docker-ce
[root@docker-0001 ~]# systemctl enable --now docker
[root@docker-0001 ~]# ifconfig # 验证 能看见docker0
[root@docker-0001 ~]# docker version # 验证 没错
 
镜像管理&容器管理
镜像是启动容器的核心
 在docker中容器是基于镜像启动的
 镜像采用分层设计
 使用cow技术
 
如何获取镜像
- 官方镜像仓库:hub.docker.com
 - 查看本机镜像:docker images
 - 查找镜像(需要能访问互联网):docker search 关键字
 - 下载镜像(需要能访问互联网):docker pull 镜像名称:标签

 
镜像备份与恢复
- 备份镜像(导出镜像)
 
docker save 镜像名称:镜像标签 -o 文件名(tar格式)
 
- 恢复镜像(导入镜像)
 
docker load -i 备份文件名称
 
运行容器
# docker run 命令
docker run -参数 镜像名称:镜像标签 启动命令
# 查看run的参数
docker help run 
man docker-run
# run = 创建 + 启动 + 进入
 
run参数
-i 交互式
-t 终端
-d 后台运行
–name 容器名字
服务型的容器 后台运行
查看镜像的启动信息
docker inspect nginx:latest
 

docker ps # 查看容器
 
镜像管理命令

容器管理命令

 
 
容器内部署应用
[root@docker-0002 ~]# docker rm -f $(docker ps -aq)
[root@docker-0002 ~]# docker run -it --rm mycentos:latest
#-----------------------------------------------------------
[root@a7f9d0c3e3e2 /]# yum install -y httpd php
[root@a7f9d0c3e3e2 /]# echo "Hello World ." >/var/www/html/index.html
[root@a7f9d0c3e3e2 /]# cat /etc/sysconfig/httpd
[root@a7f9d0c3e3e2 /]# export LANG=C
[root@a7f9d0c3e3e2 /]# cat /usr/lib/systemd/system/httpd.service
[root@a7f9d0c3e3e2 /]# /usr/sbin/httpd -DFOREGROUND
# 启动服务以后 ctrl-p + ctrl-q 退出
#-----------------------------------------------------------
[root@docker-0002 ~]# curl http://172.17.0.2/
Hello world
 
容器的启动进程不能被关闭 容器的启动进程必须在前台运行


















