目录
Docker简介
Docker最初是DotCloud公司创始人Solomon Hykes 发起的一个公司内部项目,是基于DotClound公司多年云服务技术的一次革新,并于2013年3月以Apache 2.0 授权协议开源,主要项目代码在Github上进行维护,Docker项目后来还加入了Linux基金会,并成立推动开放容器联盟。
Docker的优点如下:
1、简化程序
Docker让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是Docker的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。
2、避免选择恐惧症
如果你有选择恐惧症,还是资深患者。Docker帮你打包你的纠结!比如Docker镜像;Docker镜像中包含了运行环境和配置,所以Docker可以简化部署多种应用实例工作。比如Web应用、后台应用、数据库应用、大数据应用比如Hadoop集群、消息队列等等都可以打包成一个镜像部署。
3、节省开支
一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker改变了高性能必然高价格的思维定势。Docker与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。
centos安装doker容器
安装前准备
1)操作系统 CentOS7.x-86_x64
2)需要访问外网,如果不能上网,需要提前下载镜像并导入节点
配置yum源
卸载旧版本(如果安装过旧版本的话)
依赖安装:
yum install -y yum-utils
阿里源安装:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
可以用不同的方式安装Docker引擎
可以设置Docker的存储库并从中进行安装
设置仓库:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
基础配置
防火墙规则配置
iptables -F
iptables -X
iptables -Z
iptables-save
配置SElinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'/etc/selinux/config
reboot
可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
doker安装
yum install docker-ce # 安装指定版本,例如yum install -y docker-ce-18.09
启动并加入开机自启动
systemctl start docker
systemctl enable docker
检查是否安装成功
docker version
测试Docker
以公共的Registry上下载含有Nginx Web服务器的镜像Image,以改Image启动容器
{
"registry-mirrors":["https:registry.docker-cn.com"]
}
重启docker服务器
systemctl restart docker.service
Image( 镜像)
镜像是一个只读模板,由Dockerfile 文本描述镜像的内容。镜像定义类似面向对象的类,从一个基础镜像(BaseImage)开始。构建一个镜像实际就是安装、配置和运行的过程。镜像可以用来创建Docker容器,一个镜像可以创建多个容器。Docker镜像基于UnionFS把以上过程进行分层(Layer)存储,这样更新镜像可以只更新变化的层。Docker的描述文件为Dockerfiler,Dockerfile是一个文本文件,基本指令如下:
- FROM:定义基础镜像。
- MAINTAINER:作者或维护者
- RUN:运行的Linux命令
- ADD:增加文件或目录
- ENV:定义环境变量
- CMD:运行进程
镜像获取查看
镜像搜索:
docker search 想搜索的镜像包名
(例如:docker search nginx
)- 查看本地所有的镜像:
docker image ls
- NAME:镜像仓库名称。
- DESCRIPTION:镜像仓库描述。
- STARS:镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于 GitHub的 stars0
- OFFICAL:表示是否为官方仓库,该列标记为[0K]的镜像均由各软件的官方项目组创建和维护。
- AUTOMATED:表示是否是自动构建的镜像仓库。
docker基本命令
镜像下载:docker pull 想下载的镜像包名
(例如:docker pull nginx
)
docker pull [NAME]
容器启动
容器启动:docker run -d 镜像名 (后台启动容器 例如:docker run -d nginx)
容器启动打上标记名:
docker run -d --name (给容器打上标记名 例如:docker run -d --test_nginx nginx)
容器启动映射端口:docker run -d -p 需要映射的宿主机端口:容器端口 镜像名 (将容器端口映射到宿主机 例如:docker run -d -p 8080:80 nginx )
-d选项:表示后台运行
-p选项:指定端口映射