概念
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
7331

被折叠的 条评论
为什么被折叠?



