Docker

Docker


兴趣使然,有次接触到docker就很想学习一下容器技术,个人觉得比较有发展前景,再者多门技术多个加分项。

什么是容器(容器和虚拟机的区别)
  • 容器是我觉得算是类似于虚拟机的技术,非常轻量的虚拟化技术,虚拟机都知道是非常比较占用内存的,运行成本比较高,可能一台8G内存的笔记本一次只能同时运行三个虚拟机,但是docker就可以同时运行多个应用
  • 容器就像是化学实验室里面的杯子,而虚拟机就像是一个个教室。
  • 官方解释:

一句话概括容器:容器就是将软件打包成标准化单元,以用于开发、交付和部署。 容器镜像是轻量的、可执行的独立软件包
,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。
容器化软件适用于基于Linux和Windows的应用,在任何环境中都能够始终如一地运行。
容器赋予了软件独立性,使其免受外在环境差异(例如,开发和预演环境的差异)的影响,从而有助于减少团队间在相同基础设施上运行不同软件时的冲突。


优点
  • 可以将代码部署到一致的运行环境----确保了应用运行环境一致性
  • 可以做到秒级、甚至毫秒级的启动时间—更快速的启动时间
  • 避免公用的服务器,资源会容易受到其他用户的影响—隔离性
  • 可以很轻易的将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况—迁移方便
  • 使用Docker可以通过定制应用镜像来实现持续集成、持续交付、部署—持续交付和部署

安装
kali安装
  • 直接运行一个脚本,这个脚本是网上找的,出处我好像找不到了…()
  • 记得更改一下脚本的权限
#!/bin/bash
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D;
echo 'deb https://apt.dockerproject.org/repo debian-stretch main' > /etc/apt/sources.list.d/docker.list;
apt-get install apt-transport-https ca-certificates;
apt-get update && sudo apt-get install docker-engine;
systemctl start docker;
systemctl enable docker;
systemctl status docker;
exit;
EOF

  • 运行就直接安装完成
  • 镜像加速,阿里云上登录控制台可以获取个人的加速器—镜像加速器地址通过修改/etc/docker/daemon.json文件然后重启docker就可以了
    sudo systemctl daemon-reload
    sudo systemctl restart docker

  • 运行docker run hello-world就可以看到输出了
  • 图形界面:kitematic下载unbuntu版本,使用deb软件安装,登录账号就可以直接使用

windows安装
  • 需要查看一下我的电脑的属性,查看一下windows10系统是否是专业版。因为需要Hyper-V,不是专版没有(专业版可以直接下载doekcer for desket很方便)
  • 我的就不是专业版,所以就需要使用docker-tools安装。
  • 阿里云docker-tools下载地址: http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/?spm=5176.8351553.0.0.3bbc199197cONv
  • github下载地址:https://github.com/docker/toolbox/releases
  • 如果安装了以前版本的VirtualBox,请不要使用Docker Toolbox安装程序重新安装。出现提示时,取消选中它。如果运行Virtual Box,则必须在运行安装程序之前将其关闭。
  • 下载一个boot2docker.iso:https://github.com/boot2docker/boot2docker/releases最新版放到C:\Users\lenovo\.docker\machine\cache下(国内速度很慢可能会下载失败,所以你懂的)
  • 然后就镜像加速。在你创建的docker-machine的docker\machines\default下有一个config.json文件修改红色区域。在这里插入图片描述
简单使用
  • 查看所有容器:docker ps -a
  • 查看所有镜像: docker images
  • 删除所有的容器: docker rm ID
  • 搜索镜像:docker search xxx
  • 下载镜像:docker pull xxx
  • 使用Nginx部署一个html页面docker run --name test-web -p 8082:80 -d nginx
    * 运行一个名字为test-web的nginx容器
    * -p绑定本地端口8082到容器的80端口
    * -d在后台运行
    * docker cp ~/nginx/www/index.html 0490256e712a://usr/share/nginx/html
    * 将本地上的index.html文件复制到0490256e712a容器下的usr/share/nginx/html下
    * 打开127.0.0.1:8082
  • 暂停镜像 docker stop xx
  • 恢复镜像 docker start xxx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值