一、Docker介绍
Docker是Docker.lnc公司开源的一个基于LXC技术之上构建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0协议开源。
Docker是通过内核虚拟化技术(namespaces及cgroups等)来提供容器的资源隔离与安全保障等。由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机(VM)额外的操作系统开销,提高资源利用率。
二、Docker是什么?
Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。
Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。
总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。
三、Docker 的用途
1、提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
2、提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。
3、组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构
四、Docker改变了什么?
面向产品:产品交付
面向开发:简化环境配置
面向测试:多版本测试
面向运维:环境一致
面向架构:自动化扩容(微服务)
docker 安装
环境 centos7
#直接安装 会导致版本较低 1.13.1
yum install -y docker*
另一种安装方式
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
sed -i 's#download.docker.com#mirrors.ustc.edu.cn/docker-ce#g' /etc/yum.repos.d/docker-ce.repo
yum install docker-ce -y
启动docker
systemctl start docker
#查看帮助
docker -h
搜索镜像
docker search nginx
#下载镜像
docker pull docker.io/nginx
#导出镜像
dicker export contain_id > xxx.tar
或者
docker save -o centos.tar centos
#查看当前已有镜像
docker images
#启动pull的Nginx容器
docker run -d -p 8080:80 docker.io/nginx
打开宿主机IP:8080即可访问nginx页面
#查看所有容器
docker ps -a
docker start contain_id 启动容器
docker stop contain_id 停止容器
docker rm contain_id 删除容器
docker rmi images 删除镜像