不讲虚的来点使用的
优点
- 高效的环境部署/切换
- 应用隔离保证安全性
只说上面两点 因为目前来说我只接触到了上面两点。
高效的环境部署/切换
用我之前写过的一个程序安装教程来说。
我们如果手动部署上面的程序,需要安装python MySQL 软件,而且还要手动去对文件进行操作,但是用的docker启动就是几条指令的问题,docker pull拉下来镜像,docker run 将镜像跑起来就可以 简简单单两条指令就完成了,而且docker的环境如果上传的开发者都测试好了 放到你机器上也不会出大问题。
应用隔离保证安全性
这点相对很重要,如果在一个生产环境中 某个程序突然出现了问题导致cpu内存拉满,极有可能影响到其他程序以致于导致损失,在docker中,每个环境都是用的单独的容器,任何一个容器爆炸都不会影响到其他的容器,并且docker支持内存限制,和cpu绑定功能,可以针对程序进行限制用量,保证生产环境的稳定运行。
常用指令
# 安装指令
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 常用指令
docker pull [镜像地址] # 拉取镜像,国外可以用官方源,国内可以选择阿里源进行下载
docker images # 列出已经下载的镜像
docker ps # 列出正在运行的容器
docker run # 创建容器 几个参数在下一个标题
docker cp 本地文件地址 容器名称:容器内目录 # 拷贝文件到容器内 也可以反过来 将容器内文件复制到本地
docker stop 容器名/ID # 停止容器 docker ps指令可以查看到这两个参数
docker start 容器名/ID # 启动容器 docker ps指令可以查看到这两个参数
run指令简介
docker run指令参数比较多 单独拿出来
- -i:表示运行容器
- -t:表示容器启动后会进入命令行,加上这个参数后,容器创建就能登陆进去。即分配了一个伪终端。
--name
:为创建的容器命名- -v:表示目录映射关系(前者是宿主机目录,后者是容器中的目录)
- -d:创建一个守护式容器在后台运行
- -p:端口映射,前者是宿主机端口,后者是容器内端口
例:
创建一个守护式容器并运行 使用mysql镜像 并命名为123123 并将容器内3306端口映射到本地3306
docker run -id --name=123123 -p 3306:3306 mysql
守护式容器会在你退出之后依旧运行,还有一种是交互式容器,在你退出之后容器会停止运行一般使用 -it 参数创建