docker简介
用go语言编写
容器
云平台
也叫k8s
深入学习需要学go语言
号称:在任何环境运行任何程序
三要素:仓库,镜像,容器
镜像:相当于一个类,容器的模板
容器:相当于一个类的实例,镜像的实例
仓库:相当于github,用来存放镜像的
有公开库和私有库两种,最大的是国外的,但由于是国外的,所以速度很慢,国内游网易和阿里对其进行了加速
流程图
用docker的好处:
就是将开发环境整体打包为一个镜像,交给运维工程师,一次构建随处运行
1.更加快速的应用交付和部署
2.更便捷的升级和扩容
3.更简单的系统运维
4.更高效的计算资源利用
虚拟机docker对比
虚拟机:
虚拟机模拟的是一整套系统,包括软件和硬件
占内存非常大,需要好几个G
docker:
容器内的应用进程直接运行与宿主的内核,容器没有自己的内核,而且没有硬件虚拟,因此比传统虚拟机更为轻便
每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源
CentOS/Ubuntu上只需要170M
下载安装
docker-cn.com # 中文网
环境:CentOS6.5-6.9
1.yum install -y epel-release # 安装依赖库
2.yum install -y docker-io # 安装docker
3.查看配置文件:/etc/sysconfig/docker # docker的配置文件
4.service docker start # 启动docker
环境2:CentOS7以上
1.yum install -y epel-release # 安装依赖库
2.yum install -y docker-ce # 安装docker
3.查看配置文件:/etc/docker/deamon.json # docker的配置文件
4.systemctl start docker # 启动docker
测试
安装完docker后,本机就是docker主机了,接下来需要从仓库中抓取一个测试镜像
但是默认直接抓取的是国外网站dockerhub上的,需要改为阿里或网易的(国内阿里和网易对其进行了加速,就是克隆了一份放在自己服务器上)
1.注册阿里云账户(可用淘宝账号)
2.获得加速地址链接
登录网站https://dev.aliyun.com/search.html获取
3.修改配置文件中仓库地址,otherargs
# centOS7++ vim daemon.json { "registry-mirrors":["https://aa25jngu....."] }
4.重启docker服务器
systemctl daemon-reload
systemctl restart docker
5.linux系统下配置完加速器需要检查是否生效
ps -ef|grep docker
docker基本操作
1.帮助命令:
docker version
docker info
docker help
2.镜像命令:
docker images # 查看本地所有镜像 docker images -a # 查看每一层镜像,镜像就像千层饼 docker images -q # 查看当前镜像的id docker images -qa # 查看当前全部镜像的id docker images --digests # 显示摘要信息 docker images --digests --no-trunc # 显示完整镜像信息 docker search [某个镜像的名字] # 查看所有此镜像 docker search -s 30 tomcat # 查看点赞数超过30的tomcat镜像 docker pull tomcat # 拉取tomcat最新版镜像 docker pull tomcat:3.2 # 拉取tomcat3.2版镜像 docker rmi tomcat:3.2 # 删除本地镜像(正在运行的容器是不能删除镜像的,删除时报failed) docker rmi -f tomcat:3.2 # 强制删除镜像 docker rmi -f hello-world ngix tomcat # 删除多个镜像 docker rmi -f $(docker images -qa) # 删除所有镜像
3.容器命令:
docker run -it --name mycentos001 容器ID/容器名 # 新建并启动容器,并起别名为mycentos001 docker run [options] -i # 以交互模式运行容器 -t # 为容器重新分配一个伪输入终端 -d # 后台运行容器,并返回容器ID -P # 随机端口映射,容器内部端口随机映射到主机的高端口 -p # 指定端口映射,格式为:主机(宿主)端口:容器端口 docker ps # 查看所有正在运行的容器 docker ps [options] -a # 显示所有容器,包括未运行的 -l # 显示一次运行的容器 -n 3 # 显示最近三次运行的容器 -q # 静默模式,只显示容器编号 -s # 显示总文件大小 --format # 指定返回的模板文件 exit # 关闭容器 键盘【ctr+p+q】 # 退出容器但不关闭 docker start 容器ID/容器名 # 启动容器 docker restart 容器ID/容器名 # 容器重启 docker stop 容器ID/容器名 # 停止容器() docker kill 容器ID/容器名 # 强制停止容器 docker rm 容器ID/容器名 # 删除已停止的容器 docker rm -f 容器ID/容器名 # 删除正在运行的容器 docker rm -f 容器1 容器2 容器3 # 删除正在运行的容器 docker rm -f $(docker ps -qa) # 删除正在运行的容器