更新Linux的内核
yum update
重启docker服务:
sudo service docker restart
systemctl restart docker
查看docker版本:
docker --version
查看docker配置信息:
docker info
docker version
启动docker容器
systemctl start docker
启动docker
start docker
关闭docker
systemctl stop docker
查看docker的运行状态
systemctl status docker
查看所有容器(包含已经停止的容器)
docker ps --all或 docker ps -a
查看所有docker镜像
docker images
镜像搜索:
docker search image-name
下载镜像
docker pull image-name
删除镜像:
docker rmi -f 镜像id/镜像名称
查看当前正在运行docker
docker ps
启动容器:
docker start imagesId
停止容器“
docker stop imagesId
退出容器:
exit:容器停止退出
CTRL+P+Q:容器不停止退出
查看容器日志:
docker logs -f -t --tail 容器id
-t是加入时间戳
-f是跟随最新的日志打印
--tail数字显示最后多少条
查看容器内运行进程
docker top 容器id
查看容器内部细节(展示json配置):
docker inspect 容器id
重新进入:
docker attach 容器id:直接进入容器启动命令的终端,不会启动新的进程
docker exex -it 容器id [bashShell]:是在容器中打开新的终端,并且可以启动新的进程
从容器内拷贝文件到主机上:
docker cp 容器id :容器内路径 目的主机路径
docker 镜像是什么:
镜像是一种轻量级,可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,
它包含运行某个软件所需的所有内存,包括代码,运行时,库,环境变量和配置文件
1.unionFS联合文件系统:是一种分层,轻量级并且高效能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加
2.Docker镜像加载原理
3.分层的镜像
4.为什么Docker镜像要采用这种分层结构呢:共享资源
特点:
docker镜像都是只读的,当容器启动时,一个新的可写层被加载到镜像的顶部。这一层通常被称作容器层,
容器层之下的都是镜像层
Docker是基于Go语言实现的云开源项目
Docker的主要目标是 Build ,Ship and Run Any App,Anywhere,也就是通过对应用组件的封装,分发,部署,运行
等生命周期的管理,使用户的app及其运行环境能够做到“一次封装,到处运行”
Docker容器在任何操作系统上都是一致的,这就实现了跨平台,跨服务器。只需要一次配置好环境,换到别的
机子上就可以一键部署好,大大简化了操作
docker解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术
虚拟机就是带环境安装的一种解决方案
它可以在一种操作系统里面运行另一种操作系统,比如windows系统里面运行linux系统,应用程序对此毫无感知,因为虚拟机上
去跟真实系统一模一样,而对于底层系统来说,虚拟机就是一个普通文件,不需要了就删掉,对其他部分毫无影响,这类虚拟机完美的
运行了另一套系统,能够使应用程序,操作系统和硬件三者之间的逻辑不变
虚拟机缺点:
1.资源占用多 2.冗余步骤多 3.启动慢
Why Docker?
更轻量:基于容器的虚拟化,仅包含业务运行所需的runtime环境
更高效:无操作系统虚拟化开销
更敏捷,更灵活:分层的存储和包管理,devops理念,支持多种网络配置
linux容器不是模拟一个完整的操作系统,而是对进程进行隔离,有了容器,就可以将软件所需的所有资源打包到一个隔离的容器中,
容器与虚拟机不同,不需要捆绑一整套操作系统,只需要软件工作所需的资源和配置,系统因此而变得高效轻量,并保证部署在任何环境
中的软件都能始终如一的运行
docker和虚拟机的不同
1.传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上在运行所需应用进程
2.而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟,因此容器要比传统虚拟机更轻便
3.每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源
docker三大特征:容器,镜像,仓库
docker-cn.com
Docker镜像image就是一个只读的模板,镜像可以用来创建docker容器,一个镜像可以创建多个容器
它可以被启动,开始,停止,删除,每个容器都是互相隔离的,保证安全的平台
可以把容器看做是一个简易版的linux环境(包括root用户权限,进程空间,用户空间,网络空间)和运行在其中的应用程序
容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读写的
仓库(Repository)是集中存放镜像文件的场所
仓库和仓库注册服务器(Registry)是有区别的,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像
每个镜像有不同的标签
仓库分为公开仓库和私有仓库两种形式
最大的公开仓库是Docker Hub(https://hub.docker.com)
存放了数量庞大的镜像供用户下载,国内的公开仓库包括阿里云,网易云等;
阿里云镜像加速配置:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://3q5mnu1c.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
Linux 下的 Docker 安装与使用
https://www.cnblogs.com/myzony/p/9071210.html