docker简介
docker是什么
可以将docker容器理解为一个轻量级的沙盒。每个容器内运行着一个应用,不同的容器相互隔离,容器之间也可以通过网络互相通信。容器的创建和停止十分快速,容器自身对系统资源的额外需求也十分有限,远远低于传统虚拟机。
为什么要使用docker
- 更快速的交付和部署。
- 更高效的资源利用。
- 更轻松的迁移和扩展。
- 更简单的更新管理。
传统方式是在硬件层面实现虚拟化,需要有额外的虚拟机管理应用和虚拟机操作系统层。Docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,因此更加轻量级。
核心概念
镜像
Docker镜像类似于虚拟机镜像,可以将它理解为一个只读的模板。镜像是创建Docker容器的基础。
例如,一个镜像包含一个基本的操作系统环境,里面仅安装了Apache应用程序,则可以把它称为一个Apache镜像。
容器
Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。
容器是从镜像创建的应用运行实例。它可以启动,开始,停止,删除,而这些容器都是彼此相互隔离,互不可见的。
仓库
Docker仓库类似于代码仓库,是Docker集中存放镜像文件的场所。
Docker命令
镜像
获取镜像:docker pull
docker pull 镜像名称:标签
查看镜像信息
列出所有镜像:docker images
docker images 或 docker image ls
添加镜像标签:docker tag
使用tag命令添加镜像标签 docker tag
查看镜像详细信息:docker inspect
docker inspect 镜像id
查看镜像历史:docker history
搜寻镜像:docker search
docker search mysql
删除镜像:docker rm
docker rmi 镜像id 或 docker image rm 镜像id
清理镜像:docker prune
docker image prune
上传镜像:docker push
docker push 镜像名称:标签
帮助指令:docker image help
容器
创建容器 docker create
docker create -it 镜像名称:标签
使用create命令新建的容器处于停止状态,可以使用docker start命令来启动它
启动容器 docker start
将停止状态的容器重新启动
docker start 容器id
docker restart 容器id 先将一个运行态的容器先终止,然后再重新启动
查看容器 docker ps
docker ps
查看所有容器的id
docker ps -qa
新建并启动容器 docker run
docker run -it ubuntu:18.04 /bin/bash
-t:让docker分配一个伪终端,并绑定到容器的标准输入上。
-i:则让容器的标准输入保持打开
更多命令选项可以通过man docker-run
来查看
进入容器内部后,可以通过Ctrl+d或者输入exit命令来退出容器
当用户使用exit命令退出bash进程之后,容器也会自动退出。
-d:可以通过添加-d参数来容器在后台以守护态形式运行
查看容器输出 docker logs
停止容器 docker pause、stop、prune
暂停容器
docker pause 容器id
恢复容器
docker unpause 容器id
终止容器
docker stop 容器id
此时执行 docker container prune 会自动清除掉所有处于停止状态的容器
处于停止状态的容器,可以通过docker start命令来重新启动
进入容器 docker attach/exec
- attach
attach是Docker自带的命令
docker attach 容器id
使用attach有时候并不方便,当多个窗口同时attach到同一个容器的时候,所有的窗口都会同步显示,当某个窗口因命令阻塞时,其他窗口也无法执行操作了。
-
exec
docker exec -it 容器id /bin/bash
删除容器 docker rm
docker rm 容器id
查看容器 docker inspect、top、stats
- 查看容器详情:inspect
docker container inspect 容器id
- 查看容器内进程:top
docker top 容器id
- 查看统计信息:stats
docker stats
其他容器命令: cp、port
- 复制文件:cp
container cp命令支持在容器和主机之间复制文件。
将本地的路径data复制到test容器的/tmp路径下:
docker cp data test:/tmp/
- 查看端口映射:port
docker container port 容器id
- 帮助命令:docker container help
docker容器中安装Vim命令
apt-get update
这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
apt-get install vim