Docker是什么?
Docker是一个虚拟环境容器,可以将你的环境、代码、配置文件等一并打包到这个容器中,并发布和应用到任意平台中。比如,你在本地部署了git,jenkins等,可以将其与插件一并打包到容器中,部署到任何你想部署的环境。简单而迅速
Docker的三个概念
- 镜像(Image):类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个Ubuntu镜像就是一个包含Ubuntu操作系统环境的模板,同理在该镜像上装上Apache软件,就可以称为Apache镜像。
- 容器(Container):类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker在镜像的上层创建一个可写层,镜像本身不变。
- 仓库(Repository):类似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。注意与注册服务器(Registry)的区别:注册服务器是存放仓库的地方,一般会有多个仓库;而仓库是存放镜像的地方,一般每个仓库存放一类镜像,每个镜像利用tag进行区分,比如Ubuntu仓库存放有多个版本(12.04、14.04等)的Ubuntu镜像。
Ubuntu Docker 安装
Docker 支持以下的 Ubuntu 版本:
- Ubuntu Precise 12.04 (LTS)
- Ubuntu Trusty 14.04 (LTS)
- Ubuntu Wily 15.10
- 其他更新的版本……
Ubuntu Docker 基础常用命令
基本命令总结: sudo service docker start 启动docker sudo service docker stop 停止docker sudo docker images 查看所有镜像 docker rmi <image id>删除images docker rmi -f {TAG} 根据tag删除images docker rmi $(docker images -q)删除全部image docker rmi $(docker images | grep "^<none>" | awk "{print $3}") 删除untagged images,也就是那些id为<None>的image sudo docker ps -a 查看所有容器 docker stop CONTAINER ID 停用容器 docker rm CONTAINER ID 删除容器 docker stop $(docker ps -a -q) 停用所有容器 docker rm $(docker ps -a -q) 删除所有容器 docker stop $(docker ps -q) & docker rm $(docker ps -aq) 停用并删除所有容器 docker pull {镜像名称} 拖镜像 docker run -d -p {映射端口}:{本地端口} --name{自定义名称} {镜像名称:tag标签} 运行镜像 docker exec -it {container names} bash 进入容器 sudo dockerlogin --username={阿里云用户名} {远程仓库名称} 登录阿里云远程仓库 sudo docker tag [ImageId] {远程仓库名称}:[TAG] 修改镜像名称 sudo docker push registry.cn-hangzhou.aliyuncs.com/msj:[TAG] 上传镜像到阿里云远程仓库