注:本随笔绝大部分摘抄尚硅谷docker教程,本随笔仅仅是做记录所用,请勿当作教程查看!尚硅谷官网:http://www.atguigu.com/
解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。
例如以前我们在linux上安装MySQL,那么我们需要考虑很多情况,比如说缺什么库,缺什么依赖,然后配置一系列东西。
当我们使用Docker以后,直接在docker中拉取MySQL的镜像,然后直接启动后就可以使用,不需要我们手动的配置什么东西。
从上面的话可以猜出来,docker的作用就是可以直接安装软件环境+软件,我们安装软件的时候直接带着软件的环境一起安装了。
docker官网:http://www.docker.com
docker中文网站:https://www.docker-cn.com/
Docker Hub(Docker的软件仓库)官网: https://hub.docker.com/
Docker支持的Centos环境:
Docker支持以下的CentOS版本:
CentOS 7 (64-bit)
CentOS 6.5 (64-bit) 或更高的版本
Docker的组成:
1、镜像(Image)
Docker镜像(Image)就是一个只读的模板。镜像可以用来创建Docker容器,一个镜像可以创建很多容器。
我们可以用Java中类和对象来举例:
类====镜像
对象====容器
所以我们就可以看出来,镜像就跟类一样,是模板,而类创建的实际的对象/实例,就是容器。
2、容器(Container)
Docker利用容器(Container)独立运行一个或一组应用。容器时用镜像创建的运行实例。
容器可以被启动、开始、停止、删除。每个容器之间都是相互隔离的。
可以把容器看作是一个简易版的Linux环境,这个简易版Linux环境包括root权限、进程、用户、网络等和运行在其中的软件/应用程序。
3、仓库(Repository)
仓库(Repository)是集中存放镜像文件的地方。
仓库和仓库注册服务器是有区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag:就是版本号)。
仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
公开仓库就是那种阿里、网易、docker官网提供的公开的仓库。
私有仓库就是那种你自己搞的仓库,或者说是你公司内部使用的仓库。
最大的公开仓库是docker官方的仓库:https://hub.docker.com/
4、总结
需要正确的理解仓库/镜像/容器这几个概念,下面给一张图:
安装步骤:
centos6.8:
1、yum install -y epel -release:docker使用epel发布,phel系统的os首先要确保已经持有epel仓库,否则先检查os的版本,然后安装相应的epel包。
2、yum install -y docker-io
3、安装后的配置文件在:/etc/sysconfig/docker
4、启动docker服务:serivce docker start
5、docker version:验证是否安装成功(出现版本号则成功)
centos7:
官方安装文档:https://docs.docker.com/install/linux/docker-ce/centos/
1、确保是centos7以上版本:
cat /etc/redhat-release
2、安装gcc相关:
yum -y install gcc
yum -y install gcc-c++
3、卸载旧版本(第一行是一个命令,后面的是一个命令):
yum -y remove docker docker-common docker-selinux docker-engine
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
4、安装需要的软件包:
yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置stable仓库镜像:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6、更新yum软件包索引:
yum makecache fast
7、安装dokcer ce:
yum -y install docker-ce
8、启动Docker:
systemctl start docker
9、测试:
docker version
dokcer run hello-world
hello-world那个只要有以下的文件就说明成功:
10、配置镜像加速:
mkdir -p /etc/docker
vim /etc/docker/daemon.json
#网易云
{"registry-mirrors": ["http://hub-mirror.c.163.com"] }
#阿里云
{
"registry-mirrors": ["https://{自已的编码}.mirror.aliyuncs.com"]
}
systemctl daemon-reload
systemctl restart docker
注:配置阿里云镜像加速的那个编码,自己去阿里云注册开发者,然后就会有你的专属加速编码。
11、如果你要卸载docker:
systemctl stop docker?
yum -y remove docker-ce
rm -rf /var/lib/docker
HelloWorld:
docker run hello-world。
可以看到输出了Hello from Docker!
那么我们执行docker run hello-world命令后docker做了些什么???
底层原理:
Dokcer是如何工作的:
docker是一个cs(client-server)结构的系统。docker守护进程运行在主机上,守护进程接收客户端传来的命令,然后用这种方式来管理Docker。
Docker是虚拟环境,VMware也是虚拟环境,他们有啥不同?为什么Docker比VMWare快?
不同:
Docker只是为了提供软件+软件运行所需的环境,VM是虚拟整套系统,包括硬件系统。
为什么Docker比VM快:
VM是虚拟整套系统,比如centos,VM是虚拟完整的centos,而Docker则是虚拟精简版的centos,并没有硬件系统、一些不必要的软件等。
Docker虚拟centos的话,内核仍然是使用的宿主机的内核,所以它运行会更快!
可能我表达不好,从网上摘抄一张图:
帮助命令:
docker version:
docker info:
docker -help:
镜像命令:
容器命令:
总结:
原文:https://www.cnblogs.com/daihang2366/p/13222834.html