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
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦