Docker 使用基础
对于Docker用户来说,最好的情况是不需要自己创建镜像。几乎所有常用的数据库、中间件、应用软件等都有现成的Docker官方镜像或其他人和组织创建的镜像,我们只需要稍作配置就可以直接使用。——《每天5分钟玩转Docker容器技术》
因此本节直接介绍如何使用现有Docker image,暂时绕过较为复杂的image build环节。
1. Docker 镜像
可将Docker镜像看成只读模板,通过它可以创建Docker容器。例如某个镜像可能包含一个Ubuntu操作系统、一个Apache HTTP
Server以及用户开发的Web应用。
1.1 拉取镜像(Pulling an Image)
docker pull <image_name>
- 从Docker Hub或其他Docker注册表拉取镜像。
例如:
docker pull ubuntu:20.04
1.2 查看本地镜像(Listing Local Images)
docker images
- 查看本地存储的所有镜像。
示例输出:
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 20.04 4e2eef1d3e5a 2 weeks ago 64.2MB
1.3 删除镜像(Removing an Image)
docker rmi <image_id>
- 删除本地镜像。例如:
docker rmi ubuntu:20.04
1.4 镜像搜索(Searching for Images)
docker search <image_name>
搜索Docker Hub中的镜像。例如:
docker search ubuntu
1.5 查看镜像的详细信息(Inspecting an Image)
docker inspect <image_name>
查看镜像的详细信息。例如:
docker inspect ubuntu:20.04
2. Docker 容器
Docker容器就是Docker镜像的运行实例。用户可以通过CLI(Docker)或是API启动、停止、移动或删除容器。可以这么认为,对于应用软件,镜像是软件生命周期的构建和打包阶段,而容器则是启动和运行阶段。
2.1 运行容器(Running a Container)
docker run <image_name>
- 使用指定镜像启动一个容器。如果镜像不存在,会自动从Docker Hub拉取。
示例:
docker run ubuntu:20.04
-
其他常用参数:
-it
:以交互模式运行容器并分配终端。
示例:
docker run -it ubuntu:20.04 /bin/bash
--rm
:容器停止后自动删除容器。
示例:
docker run --rm ubuntu:20.04
2.2 列出运行中的容器(Listing Running Containers)
docker ps
查看当前正在运行的容器。示例输出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d1a61d92f678 ubuntu:20.04 "/bin/bash" 2 minutes ago Up 2 minutes docker_ubuntu
2.3 停止容器(Stopping a Container)
docker stop <container_id>
停止一个正在运行的容器。例如:
docker stop d1a61d92f678
2.4 查看容器日志(Viewing Container Logs)
docker logs <container_id>
查看容器的标准输出日志。例如:
docker logs d1a61d92f678
2.5 进入容器(Accessing a Running Container)【重要】
docker exec -it <container_id> /bin/bash
进入一个正在运行的容器并获得一个交互式shell。例如:
docker exec -it d1a61d92f678 /bin/bash
2.6 删除容器(Removing a Container)【注意顺序:先停止再删除】
docker rm <container_id>
删除一个停止的容器。例如:
docker rm d1a61d92f678