Linux下Docker命令大全(分类整理)
用于控制Docker守护进程的启动、停止及配置重载,是使用Docker的基础前提。
sudo systemctl start dockersudo systemctl stop dockersudo systemctl restart dockersudo systemctl status dockersudo systemctl enable docker/etc/docker/daemon.json等配置后需执行):sudo systemctl daemon-reload镜像是Docker容器的静态模板,管理镜像是构建、分发应用的核心环节。
<image_name>为镜像名称,<tag>为版本标签,默认latest)。docker pull ubuntu:22.04docker images-f参数强制删除,即使有容器正在使用该镜像)。docker rmi -f ubuntu:22.04-t指定镜像名称及标签,.表示Dockerfile所在目录)。docker build -t myapp:v1 .docker tag ubuntu:22.04 myrepo/ubuntu:v2docker history ubuntu:22.04docker inspect ubuntu:22.04容器是镜像的运行时实例,管理容器是Docker最常用的操作场景。
-d后台运行、-p端口映射、--name指定名称、-v挂载卷、--rm容器退出时自动删除)。docker run -d --name my-nginx -p 80:80 -v /home/www:/usr/share/nginx/html nginx-a显示所有容器,包括已停止的;-q仅显示容器ID)。docker ps -aSIGTERM信号,允许容器优雅关闭)。docker stop my-nginxdocker start my-nginxdocker restart my-nginxSIGKILL信号,不等待优雅关闭)。docker kill my-nginx-f强制删除运行中的容器;-v同时删除关联的数据卷)。docker rm -f my-nginx-it以交互模式进入,/bin/bash为终端类型)。docker exec -it my-nginx /bin/bash-f实时跟踪日志,类似tail -f)。docker logs -f my-nginxtop命令)。docker top my-nginxdocker stats my-nginxDocker提供多种网络模式(bridge、host、overlay等),管理网络可实现容器间通信。
docker network lsdocker network inspect bridgebridge为驱动类型,my-network为网络名称)。docker network create my-networkdocker network connect my-network my-nginxdocker network disconnect my-network my-nginx数据卷是容器间共享数据的持久化存储,避免容器删除后数据丢失。
docker volume lsdocker volume inspect my-volumemy-volume为卷名称)。docker volume create my-volume-f强制删除)。docker volume rm my-volume用于查看系统信息、清理无用资源及批量操作。
docker infodocker version-a参数删除所有未被使用的镜像,包括悬空镜像)。docker system prune -adocker container prunedocker image prunedocker volume prunedocker network prune$(docker ps -aq)获取所有容器ID)。docker stop $(docker ps -aq)docker rm $(docker ps -aq)$(docker images -q)获取所有镜像ID)。docker rmi $(docker images -q)满足特殊场景需求,如镜像推送、日志保存等。
docker logindocker logout.tar格式文件(便于传输)。docker save my-image:v1 > my-image.tar.tar文件加载镜像到本地(恢复备份的镜像)。docker load < my-image.tardocker events<src_path>为宿主机路径,<dest_path>为容器路径)。docker cp /home/file.txt my-nginx:/usr/share/nginx/html/<src_path>为容器路径,<dest_path>为宿主机路径)。docker cp my-nginx:/usr/share/nginx/html/index.html /home/