前言
之前对docker早有耳闻,但是一直没有用过,现在这个论文代码使用 MVC(模型,视图,控制器) 风格,里面用到的 docker,并且我发现很多用 docker 的项目,索性就学习一把。(由于服务器docker命令有问题,安全起见,暂时不用了)
正文
什么是 MVC ?
Controller:处理view 层的请求,通知Model 处理业务,并将会处理的结果返回给view层。封装的是外界(用户)作用于model 的操作,他会将操作转发给model,并调用model的一个或者多个方法
View :接受control层的处理结果,将结果展示给用用户。封装的是对数据源model的显示,一个model 可以有多个视图来展示,一个视图(view) 也可以与不同的model 关联起来
Model:接收Control 层的业务请求,操作业务数据,改变状态。封装的是数据元素和基于这些数据的操作。在一个组件中,model往往表示组件的状态和操作状态的方法。
什么是docker?
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
ubuntu 安装 docker
这里首先建议输入命令docker
试一下看看有没有,如果有的话就不要重新安装了,因为会提示可能出问题:
If you already have Docker installed, this script can cause trouble, which is
why we're displaying this warning and provide the opportunity to cancel the
installation.
使用官方安装脚本自动安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
常用命令
基本
# 启动docker
# service 命令的用法
sudo service docker start
# systemctl 命令的用法
sudo systemctl start docker
# docker的版本信息
docker version
# docker详细信息
docker info
# docker的帮助功能
docker help
镜像相关
# 查看所有的镜像
docker images
# 查询镜像
docker search 镜像名字
# 下载镜像
docker pull 镜像名字:版本
# 删除镜像
docker rmi -f 镜像ID
# 修改镜像tag名称
docker tag 70ff7873d7cd 镜像名称
容器相关
一些关键词:
--name="容器新名字": 为容器指定一个名称;
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射;
-p: 指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
# 显示当前运行容器
docker ps
# 显示所有容器
docker ps -a
# 列出本机正在运行的容器
docker container ls
# 列出本机所有容器,包括终止运行的容器
docker container ls --all
# 启动容器
docker start 容器ID
# 进入容器
docker exec -it 容器ID /bin/bash
# 重启容器
docker restart 容器ID
# 停止容器
docker stop 容器ID
# 强制停止容器
docker kill 容器ID
# 删除容器
docker rm -f 容器ID
# 查看容器日志
docker logs -f --tail=30 容器ID
# 查看容器内运行的进程
docker top 容器ID
# 容器停止退出
exit
# 容器不停止退出
ctrl+P+Q
# 打包为镜像
docker commit 容器ID 镜像名