为什么要用docker
我之所以用docker,是因为window电脑的局限性,本人是做php开发,需要用到swoole扩展(php异步网络通信引擎)window没有这个扩展,一开始是用虚拟机和vagrant。但是公司的电脑太垃圾了,跑了这几个东西后就自动关机了。这时同事给我介绍了Docker,
什么是Docker
百度百科:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口
自己理解:粗糙的理解---就是个很小的linux,更粗糙的理解-----苹果商店
docker能做什么
1.web应用的自动化打包和发布;
2.自动化测试和持续集成、发布;
3.在服务型环境中部署和调整数据库或其他的后台应用;
4.从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境
docker安装
mac window10(开启Hyper-V) 直接官网下载安装
linux 安装参考 此链接
docker基本概念
1.image(镜像,可以理解为面向对象的一个类)
-怎么获取镜像
docker pull nginx # nginx 为镜像的名字
这个时候你会发现下载的很慢,因为docker的仓库是国外的。你只需将仓库替换成国内的就行,或者联系本人,本人给你提供科学上网的方法
-检查安装的镜像
docker images
2.container(容器,可以理解为面向对象一个实例化的对象)
-怎么得到一个container
docker run -p 80:80 nginx # nginx 替换你你要执行的镜像 -p为端口映射,将docker的80端口映射为宿主机的80端口
这时你就可以去浏览器输入 localhost 就可看到运行结果
Docker基础使用
1.获取镜像
docker pull 镜像名
2.运行容器
docker run 镜像名 #-p 端口映射 -v 文件共享
3.镜像列表
docker images
4.运行的容器
docker ps # 加入 -a 参数可查看历史运行的容器
5.停止容器
docker stop 容器id
6.删除镜像
docker rmi 镜像名
7.删除容器
docker rm 容器id
docker与宿主机共享文件
docker run -p 80:80 -v /c/web:/usr/share/nginx/html nginx -d
此命令中:
-p 为 端口映射 :前为宿主机端口 :后为docker端口
-v 为 文件共享 :前为宿主机的目录 :后为docker容器的目录
-d 为 已守护进程运行