Docker -----基础知识以及配置环境

本文介绍了Docker这一开源应用容器引擎的基础知识,重点讲解了如何配置Docker环境及镜像的分层构建原理。Docker利用namespace实现隔离,通过cgroup限制资源。镜像作为容器的只读模板,通过AUFS技术实现增量修改。Dockerfile用于新建镜像,分层结构优化了资源使用,提供缓存特性以提高构建效率。
摘要由CSDN通过智能技术生成

Docker 是一个开源的应用容器引擎,主要利用 linux 内核 namespace 实现沙盒隔离,用cgroup 实现资源限制。
配置docker环境:

cd /etc/yum.repos.d/
vim westos.repo             				##编辑yum源配置文件
yum install containerd.io-1.2.5-3.1.el7.x86_64.rpm container-selinux-2.21-1.el7.noarch.rpm docker-ce-18.09.6-3.el7.x86_64.rpm docker-ce-cli-18.09.6-3.el7.x86_64.rpm -y   			##安装docker所需要的包
systemctl start docker   					##打开docker服务
yum install bash-* -y                        ##安装命令补齐插件
sysctl -a |grep bridge                      ##过滤桥接信息
cd /etc/sysctl.d/
vim docker.conf 							##编辑配置文件,设置桥接信息打开
sysctl --system								##重载信息
ip addr show 								##会分配docker的ip

docker简单搭建:

docker load -i game2048.tar					##加载镜像
docker run -d --name vm1 -p 80:80 game2048    ##-p设置端口影射:前为物理机端口,;后为docker端口
docker ps

在这里插入图片描述

docker容器基础命令:

docker run -it --name vm1 ubuntu bash    ##创建容器
docker ps -a						     ##查看容器状态
docker attach vm1						 ##连接容器
docker top vm1							 ##查看容器进程
docker logs vm1                          ##查看容器指令输出 -f 参数可以实时查看
docker inspect                           ##查看容器详情
docker stats vm1 					     ##查看容器资源使用率
docker diff vm1 						 ##查看容器修改
docker run -d --name vm1 ubuntu bash -c "while true; do echo westos; sleep 1; done"   ##后台运行
docker stop vm1 					     ##停止容器
docker start vm1         				 ##启动容器
docker kill vm1 					     ##强制干掉容器
docker restart vm1 					     ##重启容器
docker pause/unpause vm1      			 ##暂停/恢复容器
docker rm vm1							 ##删除容器
docker export vm1 > vm1.tar   			 ##导出容器
docker import vm1.tar image   			 ##导入容器为镜像 image

在这里插入图片描述

镜像用来创建容器,是容器的只读模板,默认可以从 docker hub 上下载。docker 的镜像是增量修改,每次创建新的镜像都会在父镜像上构建一个增量的层,基于 AUFS 技术。
景象是分层构建,这个结构有个很大的优点是不需要重复拉取基础镜像,如果此容器中已经有了新配置服务的所需镜像,那就不需要重复拉取,减小资源压力。那么镜像的分层结构:

  • Copy-on-Write 可写容器层。容器层以下所有镜像层都是只读的。
  • docker从上至下依次查找文件
  • 容器层保存镜像变化部分,不对镜像本身进行修改
  • 一个镜像最多127层。
    镜像新建基础命令:
docker search    ##查询镜像
docker pull      ##拉取镜像
docker push      ##推送镜像
docker images 	 ##查看本地镜像
docker inspect xxxx  	 ##查看xxxx镜像详情
docker save ubuntu > ubuntu.tar ##导出镜像
docker load -i ubuntu.tar  ##导入镜像
docker commit  镜像名  保存镜像名:标示    ##更新镜像,可以保存新建镜像
docker rmi				   ##删除镜像

通过编辑dockerfile文件,新建镜像。

mkdir docker
vim dockerfile
		From busybox            ##指定基础镜像层
		RUN echo dockerfile1>file1  ##新建文件file1
		RUN echo dockerfile1>file2
docker build -t test:v1 .		##在本地新建容器
docker history test:v1 			##查看容器历史命令

对比命令新建容器,使用文件新建容器,容易安全审计,并且具有缓存特性。
如果没有修改之前的配置文件,在其末尾追加命令,那么docker就会使用之前建立的缓存,不再新建中间容器,与之前新建的docker使用一部分相同的镜像文件。
dockerfile构建为逐一构建。通过docker commit进行操作,来执行命令,一句语句一层镜像。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值