-
Docker是什么
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于2013年3月以 Apache2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。Docker 将交付运行环境比作海运,OS如同一个货轮,每一个在OS基础上的软件都如同一个集装箱,用户可以通过标准化手段自由组装运行环境,同时集装箱的内容可以由用户自定义,也可以由专业人员制造。
工作中通过SpringBoot开发服务,然后再通过Docker容器跑服务,如下图所示
Docker的组成:
- Docker 镜像(Image):Docker 镜像是一个特殊的文件系统,类似于 Linux 的 root 文件系统,镜像提供了容器运行时所需的程序、库、资源、配置等文件,还包含了一些为运行时准备的一些配置参数。镜像是一个静态的概念,镜像不包含任何动态数据,其内容在构建之后也不会被改变。可以理解为一个可安装的系统光盘,光盘的内容不可变。
- Docker 容器(Container):容器就是一个进程,但是它有自己独立的命名空间,拥有自己独立的文件系统,独立的网络等资源。等同于一个独立的操作系统,所有的程序都是在容器中运行的。
- Docker 仓库(Registry):Docker 仓库是一个集中存储和分发镜像的服务,你可以建立自己的私有仓库,也可以使用共有仓库,比如Docker Store。你可以从仓库里搜索你需要的镜像,也可以把你自己构建的镜像分享到仓库供别人下载使用。
Docker的优势:
- 高效利用系统资源(没有虚拟硬件的额外开销)。
- 更快的启动时间(通常可以在1秒内启动)。
- 便于部署(镜像包含了应用和相关依赖,可以运行在任何配置了 Docker 的主机上)。
- 轻松迁移。
- 分层存储,提高存储效率。
-
安装Docker(Linux)
Windows上安装Docker很麻烦,需要专门的win10 pro系统和开启虚拟化,所以推荐在Linux上安装Docker,这里使用的是Centos7,阿里镜像下载地址https://opsx.alibaba.com/mirror
通过yum源安装
yum install -y docker
启动Docker
service docker start
查看Dokcer状态
service docker status
出现以下即启动正常
查看Docker版本
docker version
我的是18.06.1版本,是通过wget+url将原来下载的覆盖了
增加镜像加速
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"live-restore": true
}
开机自启
chkconfig docker on
-
常用命令
拉取docker镜像
docker pull image_name
查看镜像
docker images
删除镜像
docker rmi image_id
查看正在运行的容器
docker ps
查看所有的容器
docker ps -a
容器启动,停止,重启
docker start container_name/container_id
docker stop container_name/container_id
docker restart container_name/container_id
进入容器
docker attach container_name/container_id
删除容器
docker rm container_name/container_id
docker状态
docker info
重启docker
service docker restart