欢迎!很高兴您希望要学习Docker相关内容。本系列Docker入门指南将教会您以下知识点:
Docker是一个可以让开发者或系统管理者能以容器的方式开发、部署、运行应用的平台。使用Linux容器部署应用的过程我们称之为容器化。容器不是一个新概念,它仅仅是让应用发布变得更加简单。
容器化应用之所以越来越受欢迎,主要是因为其拥有以下优点:
通过运行镜像来启动一个容器。镜像就是一个包含应用运行所需要的一切事物的可执行包,包括代码、运行环境、扩展库、环境变量以及配置文件等。
容器就是一个镜像在内存中运行的实例(即:拥有状态的镜像或者用户进程)。在LInux下可以使用docker ps
命令来查看当前运行的容器列表。
容器运行在Linux本地,并与其他容器共享主机内核。运行在各自的进程中,不占用其他应用的内存,使其轻量化。
相比之下,虚拟机(VM)运行一个完整的“客户”操作系统,通过虚拟机管理程序对主机资源进行虚拟访问。 通常,VM提供的环境比大多数应用程序需要的资源更多。
在支持的平台上安装在维护的Docker社区版(CE)或者企业版(EE)。
docker --version
,并确认其为受支持的版本:docker --version
Docker version 17.12.0-ce, build c97c6d6
docker info
或者(docker version
去掉--
)去查看已安装的Docker的更多信息:docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 17.12.0-ce
Storage Driver: overlay2
...
为了避免权限错误(以及使用sudo
),请将您的用户添加到docker
分组内。
hello-world
)来测试已安装的docker环境:docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:ca0eeb6fb05351dfc8759c20733c91def84cb8007aa89a5bf606bc8b315b9fc7
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
hello-world
:docker image ls
hello-world
展示消息后退出的容器。如果该容器还在运行,则不需要使用--all
选项:docker container ls --all
CONTAINER ID IMAGE COMMAND CREATED STATUS
54f4984ed6a8 hello-world "/hello" 20 seconds ago Exited (0) 19 seconds ago
## 列举docker相关的命令
docker
docker container --help
## 展示docker的版本信息
docker --version
docker version
docker info
## 运行镜像
docker run hello-world
## 列举镜像
docker image ls
## 列举容器(正在运行、所有以及静默模式下的所有)
docker container ls
docker container ls --all
docker container ls -aq
容器化使CI/CD(持续集成和持续部署)无缝化。例如:
使用docker拓展应用的主要问题在于启动新的可执行程序,而不是运行繁杂的虚拟主机。
全部评论