也谈谈docker

前言

docker在几年前(14\15\16左右),算是当时最火热的技术。docker其实本身并没有太多的技术创新,所有的核心技术几乎都是前人使用过的,但是docker的理念却是革命性的,比如应用交付,比如应用扩缩容,很吻合微服务和devops的思想。

docker的架构

docker架构也是比较清晰的(这里不讨论k8s那类编排工具)

  • docker镜像:可以理解为虚拟机的母盘
  • docker容器:独立运行的一个应用
  • docker客户端:使用docker api 和docker守护进程通信
  • docker宿主机:类似虚拟机的宿主机,是docker应用实际运行的机器
  • docker应用仓库:镜像存储的地方

docker使用的一些细节

  • 安装部署
yum install docker-io -y # centos 
service docker start # start docker
chkconfig docker on # start with machine
  • 简单操作
docker pull centos # pull a image
docker run xxx  # run a container
docker stop xxx
  • docker安装一个ss服务
docker pull oddrationale/docker-shadowsocks
docker run -d -p 1984:1984 oddrationale/docker-shadowsocks -s 0.0.0.0 -p 1984 -k yourpassword -m aes-256-cfb
  • 简单的配置调优
# docker hub 换成国内的
echo "OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'" >> /etc/sysconfig/docker
systemctl daemon-reload
service docker restart
  • 编写一个docker file

docker看到的一些问题

由于自己对docker只是一些简单的使用,并没有太深入的研究其核心。这里只是列举自己从同事或者业界分享中了解到的一些问题:

  • 应用不能完美迁移到容器:容器毕竟不是虚拟机,更不是物理机。看似美好的东西,其实坑是比较多的。
  • docker pull镜像是比较慢的:这个在各大公司都是这样的,pull镜像会占用大量的网络带宽。期间听到了很多种解决方案,比如p2p传输镜像
  • docker管理:老大难的问题,docker官方的工具支持不了海量集群的管理,绝大多数公司都在自研相关的管理平台
  • 把docker当虚拟机使用:和第二个问题有一定关系,当线上需要扩容的时候,拉研发给的容器会是比较慢的。所以一些比较“聪明”的做法是:使用一个基础镜像,然后像在虚拟机一样部署应用。
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013128262/article/details/80558160
个人分类: IT基础
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭