Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的运行环境到一个可移植的容器中,然后可以在任何支持Docker的机器上运行。首先介绍一下Docker的基本概念:
1. 镜像:镜像是一个只读模板,包含了运行容器所需的所有内容,包括代码、运行时、库、环境变量和配置文件。镜像是分层的,每一层代表 Dockerfile 中的一个指令。
2. 容器:容器是镜像的运行实例。当启动一个容器时,Docker 会在镜像的基础上添加一个可写层,以便存储容器运行时产生的数据。
3. 仓库:仓库用于存储和管理Docker镜像。最知名的公共仓库是Docker Hub,用户可以搜索现有的镜像或上传自己的镜像。
4. Dockerfile: Dockerfile是一个文本文件,包含了一系列的指令,用于自动化构建Docker镜像的过程。通过Dockerfile,开发者可以定义如何构建一个镜像。
5. Docker Engine:Docker Engine是Docker的核心,是一个客户端-服务器架构的程序,它负责构建、运行和分发Docker容器。
6. Docker Compose:Docker Compose是一个用于定义和运行多容器Docker应用的工具。通过一个YAML文件,用户可以配置应用的服务,然后使用一个命令创建和启动所有服务。
接下来介绍一些Docker的常用命令:
1. 启动docker: systemctl start docker
2. 关闭docker: systemctl stop docker
3. 重启docker: systemctl restart docker
4. docker设置随服务启动而自启动: systemctl enable docker
5. docker镜像命令:
功能 |
命令 |
查看镜像列表 |
docker images |
搜索镜像 |
docker search 镜像名 |
拉取镜像 |
docker pull 镜像名 |
6. docker容器命令:
功能 |
命令 |
列出运行中的容器 |
docker ps |
查看所有的容器(包括未运行的容器) |
docker ps -a |
停止容器 |
docker stop 容器id |
启动已经停止的容器 |
docker start 容器id |
查看容器的所有信息 |
docker inspect 容器id |
查看容器的日志 |
docker container logs 容器id |
查看容器里的进程 |
docker top 容器id |
进入容器 |
docker exec -it 容器id /bin/bash |
退出容器 |
exit |
删除已停止的容器 |
docker rm 容器id |