Docker常用命令操作指南-1
-
- 一、Docker镜像相关命令
-
- [1.1 搜索镜像(docker search)](#1.1 搜索镜像(docker search))
- [1.2 拉取镜像(docker pull)](#1.2 拉取镜像(docker pull))
- [1.3 查看本地镜像(docker images)](#1.3 查看本地镜像(docker images))
- [1.4 删除镜像(docker rmi)](#1.4 删除镜像(docker rmi))
- 二、Docker容器相关命令
-
- [2.1 运行容器(docker run)](#2.1 运行容器(docker run))
- [2.2 查看容器(docker ps)](#2.2 查看容器(docker ps))
- [2.3 停止与启动容器(docker stop/docker start)](#2.3 停止与启动容器(docker stop/docker start))
- [2.4 进入容器(docker exec/docker attach)](#2.4 进入容器(docker exec/docker attach))
- [2.5 删除容器(docker rm)](#2.5 删除容器(docker rm))
- 三、Docker仓库相关命令
-
- [3.1 登录与登出仓库(docker login/docker logout)](#3.1 登录与登出仓库(docker login/docker logout))
- [3.2 推送镜像到仓库(docker push)](#3.2 推送镜像到仓库(docker push))
- 四、Docker其他实用命令
-
- [4.1 查看Docker系统信息(docker info)](#4.1 查看Docker系统信息(docker info))
- [4.2 查看容器日志(docker logs)](#4.2 查看容器日志(docker logs))
- 总结
在容器化技术飞速发展的今天,Docker已成为开发者和运维人员不可或缺的工具,而熟练掌握Docker的基础命令,是高效使用Docker进行应用开发、部署和管理的基石。本文我将围绕Docker镜像、容器、仓库等核心操作,并结合相关示例,带你深入了解Docker基础命令的使用方法与技巧。
一、Docker镜像相关命令
镜像作为Docker的核心概念之一,是创建容器的基础。常用的镜像操作命令如下:
1.1 搜索镜像(docker search)
当我们需要获取某个应用的镜像时,可以使用 docker search
命令在Docker Hub等镜像仓库中搜索镜像。命令格式如下:
bash
docker search [OPTIONS] TERM
例如,搜索Nginx镜像:
bash
docker search nginx
执行该命令后,会列出Nginx相关镜像的信息,包括镜像名称、描述、星级评分、官方与否等。其中常用选项 -s
可用于按星级评分筛选镜像,如 docker search -s 5 nginx
表示搜索评分5星及以上的Nginx镜像。
1.2 拉取镜像(docker pull)
找到合适的镜像后,使用 docker pull
命令将其下载到本地。命令格式为:
bash
docker pull [OPTIONS] NAME[:TAG]
NAME
为镜像名称,TAG
是镜像的标签,用于标识镜像的版本,不指定 TAG
时默认拉取 latest
标签的镜像。例如,拉取最新版的Nginx镜像:
bash
docker pull nginx
若要拉取特定版本,如Nginx 1.23.3版本:
bash
docker pull nginx:1.23.3
1.3 查看本地镜像(docker images)
使用 docker images
命令可以查看本地已下载的镜像列表,命令格式:
bash
docker images [OPTIONS] [REPOSITORY[:TAG]]
执行后会显示镜像的仓库名、标签、镜像ID、创建时间和大小等信息。例如,只查看Nginx相关镜像:
bash
docker images nginx
常用选项 -q
可仅显示镜像ID,方便后续操作,如 docker images -q nginx
。
1.4 删除镜像(docker rmi)
当镜像不再需要时,可使用 docker rmi
命令删除。格式为:
bash
docker rmi [OPTIONS] IMAGE [IMAGE...]
IMAGE
可以是镜像ID、镜像名:标签等。比如删除本地的Nginx镜像(通过镜像ID删除):
bash
docker rmi <镜像ID>
若镜像被容器使用,直接删除会报错,可先停止并删除相关容器,或使用 -f
强制删除,如 docker rmi -f nginx
。
二、Docker容器相关命令
容器是镜像的运行实例,容器的常见操作命令如下:
2.1 运行容器(docker run)
docker run
是最常用的命令之一,用于创建并运行一个容器,格式如下:
bash
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
其中 OPTIONS
有很多实用参数:
-d
:以后台守护进程模式运行容器;-p
:端口映射,格式为宿主机端口:容器端口
,如docker run -d -p 8080:80 nginx
将宿主机8080端口映射到容器80端口;-v
:数据卷挂载,实现宿主机与容器间的数据共享,如docker run -v /host/data:/container/data nginx
;--name
:为容器指定一个名称 ,方便后续管理,如docker run --name my-nginx nginx
。
例如,以守护进程模式运行一个Nginx容器,并映射端口:
bash
docker run -d -p 80:80 --name my-nginx nginx
2.2 查看容器(docker ps)
使用 docker ps
命令查看正在运行的容器,格式:
bash
docker ps [OPTIONS]
常用选项:
-a
:显示所有容器(包括已停止的);-l
:显示最近创建的容器;-q
:仅显示容器ID。
如查看所有容器:
bash
docker ps -a
2.3 停止与启动容器(docker stop/docker start)
停止正在运行的容器使用 docker stop
命令,格式为 docker stop [OPTIONS] CONTAINER [CONTAINER...]
,例如停止名为 my-nginx
的容器:
bash
docker stop my-nginx
启动已停止的容器用 docker start
,格式类似,如 docker start my-nginx
。此外,docker restart
命令可用于重启容器,相当于先停止再启动。
2.4 进入容器(docker exec/docker attach)
进入正在运行的容器有两种方式:
docker exec
:在容器中执行一个新的命令,并进入交互模式,推荐使用。格式为docker exec -it CONTAINER COMMAND
,如进入Nginx容器的Shell:
bash
docker exec -it my-nginx bash
docker attach
:直接进入容器的标准输入、输出和错误输出流,当多个窗口同时attach时会产生干扰,使用较少。
2.5 删除容器(docker rm)
删除已停止的容器使用 docker rm
命令,格式为 docker rm [OPTIONS] CONTAINER [CONTAINER...]
,如删除 my-nginx
容器:
bash
docker rm my-nginx
若要删除正在运行的容器,可使用 -f
强制删除 ,即 docker rm -f my-nginx
。
三、Docker仓库相关命令
Docker仓库用于存储镜像,与仓库交互的常用命令如下:
3.1 登录与登出仓库(docker login/docker logout)
登录Docker Hub等仓库使用 docker login
命令,格式:
bash
docker login [OPTIONS] [SERVER]
执行后按提示输入用户名和密码即可登录。登出使用 docker logout
,如 docker logout
。
3.2 推送镜像到仓库(docker push)
将本地镜像推送到仓库使用 docker push
命令,格式为 docker push NAME[:TAG]
,但需要先确保镜像名称符合仓库的命名规范(通常包含仓库地址、用户名等信息)。例如,将本地镜像推送到Docker Hub:
bash
docker push username/repository:tag
四、Docker其他实用命令
4.1 查看Docker系统信息(docker info)
docker info
命令用于查看Docker系统的详细信息,包括磁盘使用、镜像数量、容器数量、存储驱动等。执行 docker info
即可查看相关内容。
4.2 查看容器日志(docker logs)
通过 docker logs
命令查看容器的运行日志,格式为 docker logs [OPTIONS] CONTAINER
。常用选项 -f
可实时跟踪日志输出,如查看Nginx容器日志:
bash
docker logs -f my-nginx
总结
本文我简单介绍了Docker在镜像、容器、仓库等方面的基础命令,涵盖了从镜像获取、容器创建运行到仓库交互等基础核心操作。以后我还将深入介绍 Docker 常用的其他命令,敬请期待吧~
若这篇内容帮到你,动动手指支持下!关注不迷路,干货持续输出!
ヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノ