手记

Docker入门

what is docker


what’s the difference between docker and VM?


Docker功能

  • 简化配置
  • 整合服务器
  • 代码流水线管理
  • 调适能力
  • 提高开发效率
  • 多租户
  • 隔离应用
  • 快速部署

容器编排工具 K8s

what is DevOps?

传统服务器的弊端

  • 部署慢
  • 成本高
  • 资源蓝给
  • 难于迁移扩展
  • 限定厂商

虚拟化优缺点

开发和运维面临环境不一致的难题


  • 解决了开发和运维之间的矛盾
  • 在开发和运维之间搭建了一个桥梁,是实现devops的最佳解决方案

vagrant

创建一台虚拟机
vagrant init centos7
vagrant up
vagrant ssh
docker version
docker-machine version
docker-machine create demo 创建一台小巧的虚拟机
docker-machine ls 查看
docker-machine start demo
docker-machine ssh demo
docker-machine env demo 输出demo的环境变量
linux eval $(docker-machine env demo) 本地远程创建虚拟机
远程创建阿里云
首先下载docker-machine-driver-aliyunecs放到/usr/local/bin
验证 docker-machine create -d aliyun --help 显示命令,则成功
然后再访问控制创建用户,再添加一个AccessKey
然后执行图片中的命令
eval $(docker-machine env demo)
如果想退出
docker-machine env --unset

亚马逊aws云使用

Docker架构

Docker Engine

底层技术

Docker Image

docker run 镜像名
docker image ls
docker image rm 

Image获取


去掉sudo

sudo groupadd docker
sudo groupwd -a vagrant docker
sudo service docker restart
vagrant ssh

创建自己的镜像 Dockerfile最佳实践

  • scratch表示从头构建一个image
  • FROM尽量使用官方的image作为base image
  • LABEL Metadata不能少 (帮助信息)
  • Run 使用反斜线换行
  • WORKERDIR 不要使用RUN cd 尽量使用绝对目录







这里的hello是我们刚编译的一个c文件
vim Dockderfile	
文件内容
FROM scratch
ADD hello /
CMD ["/hello"]

然后
docker build -t hanxiao/centos-vim .

Run vs CMD

Container

docker container ls 
docker container ls -a

构建自己的Docker镜像

docker container commit 把修改的container提交成一个新的image 不提倡,因为其他人也可以获取
docker image build 根据Dockerfile创建一个镜像(推荐)

镜像发布

docker login 
docker push loginid/name:version

docker registry 私有仓库,不共享

关闭hyper
bcdedit /set hypervisorlaunchtype off
开启hyper
bcdedit /set hypervisorlaunchtype auto
0人推荐
随时随地看视频
慕课网APP