江门网站建设公司,网站轮播效果怎么做,用什么网站可以做电子书,青海网站建设免费推广Docker的概念云计算三层架构服务说明应用IAAS基础设施及服务硬件#xff08;服务器、网络设置、防火墙等#xff09;虚拟化网络虚拟化#xff08;大二层#xff09;例#xff1a;openstackPAAS平台及服务环境例#xff1a;数据库、 docker 、kubernetesSAAS应用及服务应用…Docker的概念云计算三层架构服务说明应用IAAS基础设施及服务硬件服务器、网络设置、防火墙等虚拟化网络虚拟化大二层例openstackPAAS平台及服务环境例数据库、 docker 、kubernetesSAAS应用及服务应用例应用商店的应用而Docker就是PAAS中的技术。Docker是什么Docker是一种轻量级的“虚拟机”是一个开源的应用容器引擎。容器是完全使用沙箱机制相互之间不会有任何接口轻量级表示它体积小灵活而说它是虚拟机又不是真正的虚拟机因为它里面没有系统开源表示它是免费的Docker和虚拟机的区别对比参数虚拟机容器启动时间慢 分钟级别快速毫秒级别占用空间大整个系统的大小几G小内核大小几M系统隔离逻辑隔离依赖于内核内核共享安全性 因为隔离性高低使用原系统内核使用场景对应用的打包与部署自动化创建轻量、私密的PAAS环境实现自动化测试和持续的集成/部署部署与扩展webapp、数据库和后台服务Docker的核心概念重点镜像镜像的压缩包容器实例通过镜像创建仓库存放镜像的地方公有仓库Docker官方仓库私有仓库个人化、私有化的仓库小结Docker是容器管理工具容器由镜像创建而来镜像从仓库中获取而来仓库分为公有、私有。CentOS中的安装方法方法一使用CURL获得Docker的安装脚本get-docker.sh进行安装方法二使用yum仓库安装我们使用第二种方法安装Docker相关命令安装依赖包yum install -y yum-utils device-mapper-persistent-data lvm2#yum-utils提供了yum-config-manager
#device mapper存储驱动程序需要device-mapper-persistent-data和lvm2
#Device Mapper 是Linux2.6内核中支持逻辑卷管理的通用设备映射机制它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。
设置阿里云镜像源yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装Docker-CEyum install -y docker-ce
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
vim /etc/selinux/config
SELINUXdisabled
systemctl start docker.service
systemctl enable docker.service
配置阿里云镜像加速不然下载速度很慢加速地址从自己的阿里云上获取阿里云官网https://account.aliyun.com/获取方式登录阿里云–控制台–在上面搜索容器镜像服务–左下角的镜像加速器在此页面中显示阿里云的镜像加速地址和配置方法systemctl daemon-reload
systemctl restart docker
网络优化vim /etc/sysctl.conf
net.ipv4.ip_forward1
sysctl -p
service network restart
systemctl restart docker
基础命令查看docker版本信息docker version
镜像的操作查找指定镜像docker search 服务名
例如
docker search nginx
下载镜像docker pull 服务名
例如
docker pull nginx
查看镜像信息docker images
docker inspect 镜像的ID
例如
docker images
docker inspect f6d0b4767a6c
添加新标签打标签docker tag 仓库名:原镜像名 仓库名:新镜像名
例如
docker tag nginx:latest nginx:test
docker images
docker images | grep nginx
删除镜像指定镜像ID删除的时候要求不能有该镜像不能有标签docker rmi 镜像的ID
docker rmi 仓库名:镜像名
例如
docker rmi f6d0b4767a6c
docker images
docker rmi nginx:test
docker images
将镜像存储到本机上命名为nginx_latestdocker save -o 存放镜像的位置 仓库名:镜像名
例如
docker save -o /opt/nginx_latest nginx:latest
载入镜像方法一
docker load 本地导出的镜像名
方法二
docker --input 本地导出的镜像名例如
docker load nginx_latest
docker load --input nginx_latest
方法二上传镜像将本地的镜像上传到公有的镜像仓库,要先登陆到镜像仓库上传镜像前要修改标签标签前面要加上Docker官网的账号名标签格式 Docker官网的账号名/仓库名:镜像名不过一般不会上传到公有仓库中公司内部都使用私有仓库私有云到后面再说docker push [OPTIONS] NAME[:TAG]例如按照下面的流程就可以上传到公有云有兴趣的可以上传
#改标签
docker tag 仓库名:镜像名 用户名/仓库名:镜像名
#登录
docker login
Username: #用户名
Password: #密码#上传
docker push 用户名/仓库名:镜像名
容器的操作查看容器运行状态容器的STATUS状态up是正在运行的Exited (0)是正常停止的容器Exited (非0)异常停止的容器docker ps #查看运行中的容器
docker ps -a #加-a 列出所有的容器包括未运行的容器
创建容器docker create [选项] 镜像运行的程序
-i:让容器的标准输入保持打开
-t:让Docker分配一个伪终端例;
docker create -it nginx:latest /bin/bash
启动、停止、重启容器docker start 容器ID:启动一个或多个已经被停止的容器
docker stop 容器ID:停止一个运行中的容器
docker restart 容器ID:重启容器
例
docker start a9b99fced079
docker ps -a
docker stop a9b99fced079
docker ps -a
docker restart a9b99fced079
运行容器run和start的作用有些类似准确来说run相当于createstart一般第一次可以使用run后面维护还是使用start/stop/restartdocker run [选项] 镜像 [命令] [变量]
-d: 后台运行容器并返回容器ID
-i: 以交互模式运行容器通常与 -t 同时使用
-t: 为容器重新分配一个伪输入终端通常与 -i 同时使用
-c 命令表示后面的参数将会作为字符串读入作为执行的命令
-v: 绑定一个卷
-P: 随机端口映射容器内部端口随机映射到主机的端口
-p: 指定端口映射格式为主机(宿主)端口:容器端口
--name名称: 为容器指定一个名称
--link name:alias 添加链接到另一个容器格式“--link容器名:别名”
例如
docker run nginx
docker run -d nginx
docker run -d nginx /bin/bash -c ls
进入、退出容器进入的容器状态一定要是运行状态docker exec [选项] 容器 命令
例
docker exec -it 0d89bd6232f3 /bin/bash
docker exec -it 6445720c61a5 /bin/bash
exit//退出容器
容器导出、导入#容器导出
docker export 容器ID 备份文件名#容器导入(会生成镜像而不会创建容器)
cat 备份文件名 | docker import - 仓库名:镜像名例如
docker export 6445720c61a5 nginx_up
docker export 0d89bd6232f3 nginx_exitedcat nginx_up | docker import - nginx:web
删除容器docker rm 容器ID
例如
docker rm 4d8dcf51a4ef
//批量删除容器
docker ps -a | awk {print docker rm $1} | bash
私有仓库的操作创建私有仓库docker pull registry
修改vim /etc/docker/daemon.json
{
insecure-registries: [192.168.163.100:5000], 添加
registry-mirrors: [阿里云加速地址]
}
systemctl restart docker.service
docker create -it registry /bin/bash
docker ps -adocker start 8480e3f87c8e
挂载容器宿主机的/data/registry自动创建挂载容器中的/tmp/registrydocker run -d -p 宿主机端口容器内部端口 -v 宿主机目录容器内目录 镜像
例
docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry
更改标记更改标记为192.168.163.100:5000/nginx上传获取私有仓库列表curl -XGET http://192.168.163.100:5000/v2/_catalog
//显示上传成功
(repositories:[nginx)
测试私有仓库下载docker pull 192.168.163.100:5000/nginx
Docker数据卷和数据卷容器在创建数据卷和数据卷容器的时候如果挂载目录不存在则会自动创建数据卷将宿主机目录/var/www挂载到容器中的/data1上docker run -v /var/www:/data1 --name test -it centos:7 /bin/bashcd /data1/
touch test1111返回宿主机进行查看
ls /var/www/
数据卷容器//数据卷容器
docker run --name juan -v /data1 -v /data2 -it centos:7 /bin/bash
//新容器挂载数据卷容器juan
docker run -it --volumes-from juan --name test2 centos:7 /bin/bash
小结数据卷与数据卷容器的区别数据卷是挂载在宿主机上的数据卷容器是通过–volumes-from实现容器与容器之间的挂载端口映射docker run -d -P httpd:centos7
docker run -d -p 49280:80 httpd:centos7
容器互联使用centos镜像)//创建并运行容器取名web1,端口号自动映射
docker run -itd -P --name web11 centos:7 /bin/bash//创建并运行容器取名web2链接到web1和其通信进web22容器 ping web1
docker run -itd -P --name web22 --link web11:web11 centos:7 /bin/bash--link name:alias --link容器名:别名
总结1、镜像查找镜像search—上传pull、下载push—打标签tag—删除rm—导出save、导入load2、容器查看ps—创建create—启动start、停止stop、重启restart—运行run—进入exec、退出exit—导入import、导出export—删除rmi3、仓库下载registry镜像—运行容器、暴露端口5000—修改daemon.json文件—重启docker挂载容器—打标签—上传—查询—下载