Docker 常用命令
查看所有本地镜像 docker images -a
查看所有容器 docker ps -a
停止容器 docker stop
删除容器 docker rm
删除镜像 docker rmi
如果你想要删除一个镜像,如果镜像运行过,需要先停止容器,删除关联容器,最后删除镜像
docker rmi image_id or REP=POSITORY
搜索镜像 docker search
docker search ubuntu
这个命令会列出所有与 ubuntu
相关的镜像,包括镜像的名称、描述、星级(用户评分)、是否官方、是否自动化等信息。
注意: 这里搜索时都是连接的官方镜像源。设置的国内镜像站只有在拉取时生效
拉取镜像 docker pull
# 拉取镜像,也可以理解为下载
docker pull hello-world
运行镜像 docker run
# 运行 hello-world 镜像,如果本地没有,则自动从服务器拉取 名称为 hello-world 的镜像并运行
docker run hello-world
以下是一些最常用的 docker run
命令参数:
-d :后台运行容器,并返回容器ID。
-it :分配一个伪终端并保持标准输入开放,通常与 bash
或 sh
命令一起使用。
p:将容器端口映射到宿主机端口,格式为 -p <宿主机端口>:<容器端口>
。
--name:为容器指定一个名称。
-e :设置环境变量,格式为 -e <环境变量名>=<值>
。
-v :挂载卷到容器,可以是宿主机的目录或存储卷,格式为 -v <宿主机目录>:<容器内路径>
。
--network:连接到一个网络,可以是 bridge
、host
或自定义网络。
--restart:设置容器的重启策略,如 always
、unless-stopped
、on-failure
。
--cpus:限制容器可以使用的 CPU 数量。
-m:限制容器可以使用的内存量。
--cpuset-cpus:指定容器可以使用哪些 CPU 核心。
--gpus:为容器分配 GPU 资源。
--rm:容器停止后自动删除。
-u:指定容器内运行命令的用户。
--entrypoint:覆盖容器的默认入口点。
--workdir 或 -w:设置容器内的工作目录。
--cap-add:添加 Linux 内核能力。
--cap-drop:删除 Linux 内核能力。
--privileged:给予容器额外的权限,相当于运行在特权模式。
--read-only:将容器的文件系统设置为只读。
--no-healthcheck:禁用容器的健康检查。
--health-cmd:设置容器的健康检查命令。
--health-interval:设置健康检查的时间间隔。
--health-retries:设置健康检查的重试次数。
--health-timeout:设置健康检查的超时时间。
--label:为容器设置标签。
这些参数一般都是组合使用,以满足不同的需求。
例如,以下命令将容器端口 80 映射到宿主机端口 8080,并将容器命名为 my-web-app
:
docker run -p8080:80 --name my-web-app nginx
启动 Docker 服务:
# 启动 Docker 服务:
sudo systemctl start docker
停止 Docker 服务:
# 停止 Docker 服务:
sudo systemctl stop docker
重启 Docker 服务:
# 重启 Docker 服务:
sudo systemctl restart docker
查看 Docker 服务状态:
# 查看 Docker 服务状态:
sudo systemctl status docker
设置 Docker 开机启动:
# 设置 Docker 开机启动:
sudo systemctl enable docker
取消 Docker 开机启动:
# 取消 Docker 开机启动:
sudo systemctl disable docker
发表评论