docker基础

概念

docker是一个开源项目,可以将任何应用,以轻量级容器的形式打包,发布和运行。
可以粗糙的理解为一个轻量级的虚拟机,因为二者都可以将一个应用放在独立的环境中运行。
也可以理解为开了挂的chroot,chroot是对应用程序做了文件系统的分离。
但,docker不是虚拟机,也不是chroot。
下面是一个docker的架构图
在这里插入图片描述

核心技术点

参考之前的一篇
docker容器核心技术点

mac安装docker

官网下载
安装完,一般再搞个镜像加速器,比如阿里的
https://cr.console.aliyun.com/
登录dockerhub,第一次需要去注册,验证邮箱。
安装完配置完后,试着下载个nginx玩玩:
// 下载个nginx
docker pull nginx
//下载完,查看本地镜像,是否存在nginx
docker images
//启动容器,指定名字,将容器的80端口映射到宿主机的8080端口
docker run --name nginx-test -p 8080:80 -d nginx
//本地访问:http://localhost:8080

volume

提供独立于容器之外的持久化存储,比如数据库的数据
可以将本地的一个路径,挂载到容器中,这样容器执行,拿的是本地文件,比如一些前端代码,就可以放在本地一个文件下,然后挂载到docker容器的服务中,这样调试,修改本地文件内容,服务会实时生效。
同一个本地文件路径,可以被多个容器同时挂载,这样也就做到了容器间的数据共享。

Registry

除了docker hub,还有一些国内镜像仓库:daocloud、aliyun、时速云
试试镜像仓库:
// 搜索镜像
docker search whalesay
// 下载镜像到本地
docker pull docker/whalesay
// 运行镜像,打印dockerkkkkkk
docker run docker/whalesay cowsay dockerkkkkkk
//下面是运行的效果图

 ______________ 
< dockerkkkkkk >
 -------------- 
    \
     \
      \     
                    ##        .            
              ## ## ##       ==            
           ## ## ## ##      ===            
       /""""""""""""""""___/ ===        
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~   
       \______ o          __/            
        \    \        __/             
          \____\______/  

// 本地复制一份这个镜像,并起名叫zhangs9092/whalesay,zhangs9092是我的dockerhub的用户名
docker tag docker/whalesay zhangs9092/whalesay
//检查确认,本地确实有了一个新镜像,叫zhangs9092/whalesay
docker images
//将镜像push到远程仓库
docker push zhangs9092/whalesay
// 去https://hub.docker.com/ 就可以看到刚刚push的镜像了
在这里插入图片描述

docker-compose

之前都是简单的单容器应用
通过docker-compose可以拉起一个多容器应用
这个docker-compose,对于mac和windows,是自带的,
linux需要安装,自行百度:Linux使用curl 方式安装docker-compose
// 检查当前docker-compose的版本
docker-compose --version

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值