// article · docker
Docker 常用命令
1、基本命令
#打印客户端版本信息(不启动Docker也能查看)
docker -v
#打印客户端和服务端详细信息(需要启动Docker后才能查看)
#docker version2、镜像相关
# 搜索镜像
docker search [镜像名]
# 拉取镜像
docker pull [镜像名]:[标签]
# 示例:docker pull mysql:8,如果不带标签,默认拉latest
# 列出本地镜像
docker images
docker image ls
# 删除镜像,镜像有运行的容器不能删除
docker rmi [镜像ID/镜像名]
# 强制删除,镜像有运行的容器也能删除
docker rmi -f [ID]
# 构建镜像(当前目录Dockerfile)
docker build -t 镜像名:标签 .
# 导出镜像
docker save -o xxx.tar 镜像名:标签
# 导入镜像
docker load -i xxx.tar
# 给镜像打标签
docker tag 原镜像:tag 新镜像:tag3、容器相关
# 创建并启动容器
docker run [参数] 镜像名
# 常用run参数说明
# -d 后台运行(守护进程)
# -p 宿主机端口:容器端口 端口映射
# --name 指定容器名称
# -v 宿主机目录:容器目录 数据卷挂载
# --restart=always 开机自启
# -it 交互式终端
# 示例
docker run -d --name nginx-demo -p 8080:80 nginx
# 查看正在运行容器
docker ps
# 查看所有容器(含已停止)
docker ps -a
# 启动/停止/重启容器
docker start [容器名/ID]
docker stop [容器名/ID]
docker restart [容器名/ID]
# 强制停止(类似kill)
docker kill [容器ID]
# 删除容器(容器必须先停止)
docker rm [容器ID]
# 强制删除运行中容器
docker rm -f [容器ID]
# 清理所有停止的容器
docker container prune4、进入容器内部
# 推荐:进入运行中的容器
docker exec -it [容器名/ID] /bin/bash
# alpine镜像一般用 sh
docker exec -it [ID] sh
# 旧方式(不推荐,退出容器会停止)
docker attach [容器ID]5、docker compose
# 前台启动
docker-compose up
# 后台启动
docker-compose up -d
# 停止容器,不删除
docker-compose stop
# 停止并删除容器、网络
docker-compose down
# down同时删除数据卷
docker-compose down -v
# 重启服务
docker-compose restart
# 查看日志
docker-compose logs -f
# 进入服务容器
docker-compose exec 服务名 bash