Docker学习

问题

一个大项目中组件特别多,运行环境也很复杂,因此部署的时候会遇到很多问题:

  • 依赖关系比较复杂,很容易出现兼容性问题

  • 开发、测试、生产的环境也是都有差异的,系统环境有问题

Docker来解决兼容性问题

  • 将应用的函数库Lib、依赖Deps、配置和应用一起打包

  • 每个应用放到一个隔离容器去运行,避免相互干扰

Docker来解决不同系统环境的问题

  • Docker将用户程序和所需要调用的系统函数库一起打包

  • Docker运行不同的操作系统,直接基于打包的库函数,借助操作系统的Linux内核来运行

总结

Docker就是一个快速交付应用、运行应用的技术

镜像

Docker将应用程序及其所需依赖、函数库、环境、配置等文件打包在一起

容器

镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见

DockerHub

DockerHub是一个Docker镜像的托管平台,这样的平台称为Docker Registry

Docker架构

Docker是一个CS架构的程序:

  • 服务端(Server):Docker守护进程,负责处理Docker指令,管理镜像、容器等等

  • 客户端(Client):通过命令(本机)或者RestAPI(远程)向Docker服务端发送指令。可以在本地或者远程向服务端发送指令

使用Dockerbuild命令DockerServer构建镜像

使用Dockerpull向Registry拉取镜像,然后DockerServer就会从Registry拉取镜像

使用Dockerrun命令DockerServer创建容器

  • 一般Redis、NIginx等直接使用官方镜像就像,没必要自己构建镜像

  • 自己的微服务才需要自己构建镜像

镜像名称

  • 镜像名称一般是两部分组成:[repository]:[tag],例如mysql:5.7

镜像操作命令

获取镜像

查看镜像

docker images

删除镜像

docker rmi

推送镜像

推送到服务器

docker push

将镜像保存为一个压缩包

dovker save

docker load(将压缩包加载为镜像)

总结

查看所有Docker容器运行情况

docker ps -a

查看当前Docker启动的容器情况

docker ps

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值