docker容器的介绍和安装

容器
容器技术的核心有一下几个内核技术组成
Cgroups(control groups)资源管理
NameSpace-进程隔离
命名空间(主机名,进程PID,信号限量,用户,文件系统,网络)
SElinux安全
什么是Docker
docker是完整的一套容器管理系统
docker 提供一组命令,让用户更加方便直接的使用容器技术,而不需过多关心底层的内核技术
unshare -i /bin/bash #隔离主机名
unshare -m /bin/bash #文件系统隔离
unshare -U /bin/bash #用户隔离
unshare --fork --pid --mount-proc /bin/bash #进程隔离
unshare -n /bin/bash #网络隔离

chroot作用改变跟系统文件
]#kill -l #查询信号向量
docker优点
1)相比于传统的虚拟化技术,容器更加简洁高效
2)传统虚拟机需要每个VM安装操作系统
3)容器使用的共享公共库和程序
在这里插入图片描述
docker缺点
1)容器的隔离性没有虚拟机强
2)公用Linux内核,安全性有先天缺陷
3)SElinux难以驾驭
部署docker容器
1.准备2台虚拟机docker1 192.168.1.31,docker2 192.168.1.32
2.增加yum源,/linux-soft/04/openstack/RHEL7-extras.iso
3.安装docker软件
]#yum -y install docker
]#systemctl restart docker
]#systemctl enable docker
4.查看版本
]#docker version

]#docker images #查询本机镜像
]#docker search 镜像名 #网络搜寻docker镜像
]# docker search docker.io/centos
]#docker pull 镜像名 #下载镜像
查询docker某个命令的帮助方法:
]#docker help push
]#man docker-push
REPOSITORY TAG IMAGE ID CREATED
SIZE (镜像名称) (镜像标签) (镜像ID) (镜像创建日期)
docker.io/busybox latest 6d5fcfe5ff17 8 days ago
1.22 MB
镜像备份:
]#docker save docker.io/busybox:latest -o busybox
名称+标签(备份) output 备份到文件
备份恢复(导入镜像)
]#docker load -i(input) busybox
]# for i in * ; do docker load -i $i; done
启动centos镜像生成一个容器
]#docker images
]#docker run -it docker.io/centos:latest /bin/bash
create,start,console
开启另一个终端(查看容器信息)
]#docker ps
命令列表
docker images #查看镜像列表
docker history #查看镜像制作历史
]# docker history docker.io/centos
docker inspect #查看镜像底层信息
]# docker inspect docker.io/centos
docker pull #下载镜像
]# docker pull docker.io/centos
docker push #上传镜像
]# docker push docker.io/centos
docker rmi #删除本地镜像
]# docker rmi docker.io/centos
docker save #镜像另存为tar包
]#docker save docker.io/centos:latest -o centos(文件名)
docker load #使用tar包导入镜像
]#docker load -i centos
docker search #搜索镜像
]# docker search docker.io/centos
docker tag #修改镜像名称和标签
]# docker tag docker.io/busybox:latest docker.io/busybox:test
]# docker tag docker.io/busybox:latest nsd1909:latest
容器常用命令
注:运行容器命令需要使用CONTAINER ID
docker run -it #前台交互运行容器
docker run -itd #放入后台交互运行容器
]#docker run -it docker.io/centos:latest /bin/bash
注:如果不指定启动解释器,则使用默认解释器
docker ps #查看容器列表
docker ps -a #查看所有容器列表
docker ps -qa #仅显示容器id
docker stop #关闭容器
]#docker stop 690eeffb7313
docker start #启动容器
]#docker start 690eeffb7313
docker restart #重启容器
]#docker restart 690eeffb7313
docker attach|exec #进入容器
docker attach #进入容器,exit时导致容器关闭
]#docker start 690eeffb7313
]#docker attach 690eeffb7313
]#ctrl +p,q #退出容器,不关闭容器
docker exec #进入容器,exit时不会导致容器关闭
]#docker start 690eeffb7313
]# docker exec -it 690eeffb7313 bash
]#exit #退出容器容器不关闭
docker inspect #查看容器底层信息
]# docker inspect 690eeffb7313
docker top #查看容器进程列表
docker rm #删除容器
]#docker stop 690eeffb7313 #先执行stop
]#docker rm 690eeffb7313
]#docker rm $(docker stop 690eeffb7313)
#docker支持命令重入
]# docker rm -f $(docker ps -qa ) #强制删除容器(包含运行的容器)
]# docker rmi $(docker images -q) #删除所有的镜像

发布了5 篇原创文章 · 获赞 1 · 访问量 284

猜你喜欢

转载自blog.csdn.net/weixin_46271204/article/details/104415051