Docker 入门
简介
Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。
Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。
Docker 系统有两个程序:Docker 服务端 和 Docker 客户端。
- Docker 服务端是一个服务进程,管理着所有的容器。
- Docker 客户端则扮演着 Docker 服务端的远程控制器,可以用来控制 Docker 的服务端进程。
- 大部分情况下,Docker 服务端和客户端运行在一台机器上。
# 查看 docker 版本 |
虚拟机 VS Linux 容器
Linux 容器与虚拟机享有相似的资源隔离和分配,但是两者还是有很大区别的。
虚拟机可以在一种操作系统里面运行另一种操作系统。看上去跟真实系统一模一样,而对于底层系统来说,虚拟机就是一个普通文件,不需要了就删掉,对其他部分毫无影响。
Linux 容器是 Linux 的一种虚拟化技术。它不是模拟一个完整的操作系统,而是对进程进行隔离。
由于 Linux 容器是进程级别的,相比虚拟机有很多优势:
- 启动快 (启动虚拟机就相当于启动操作系统)
- 资源占用少 (虚拟机会独占一部分内存和硬盘空间)
- 体积小
Docker Image
An image is a lightweight, stand-alone, executable package that includes everything needed to run a piece of software, including the code, a runtime, libraries, environment variables, and config files.
只读模板,包含一个基本的操作系统。
# 搜索可用镜像 |
Docker container
A container is a runtime instance of an image.
一个轻量级的沙箱,容器是从镜像创建的,应用的运行实例。可以启动、开始、停止和删除,容器彼此间相互隔离。
# 创建容器 |
Docker 数据管理
# copy 本地文件到容器内 |
Docker 端口映射
在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。
# 将本地的 8001 端口映射到容器的 80 端口 |
Docker 其它常用命令
# 登录 |