Docker常用指令
目录
系统管理命令
命令 | 说明 |
---|---|
systemctl start docker | 启动Docker服务 |
systemctl stop docker | 停止Docker服务 |
systemctl restart docker | 重启Docker服务 |
docker version | 查看Docker版本 |
systemctl status docker | 查看Docker运行状态 |
docker --help | 查看Docker命令帮助文档 |
docker system df | 查看所有镜像和容器所占用的磁盘空间 |
容器操作
命令 | 说明 |
---|---|
docker start 容器名或id | 启动容器 |
docker stop 容器名或id | 停止容器 |
docker restart 容器名或id | 重启容器 |
docker ps | 查看运行中的容器 |
docker ps -a | 查看所有容器 |
docker inspect 容器名或id | 查看容器详情 |
docker exec -it 容器名或id /bin/bash | 进入正在运行的容器 |
docker kill 容器名或id | 杀死指定容器 |
docker rm 容器名或id | 删除指定容器 |
docker create 镜像名 | 创建容器但不运行 |
docker run 镜像名 | 创建并运行容器,镜像不存在会自动从仓库中下载 |
run的额外参数
命令 | 说明 | 示例 |
---|---|---|
–name | 为容器命名 | docker run --name mycentos centos:centos7 centos:centos7 是镜像名称和标签,并为其命名为mycentos |
-d | 后台运行容器,并打印容器id,通常和-i组合使用 | |
-i | 即使没有附加页保持STDIN开放 | |
-t | 分配一个伪终端,通常和-i组合使用 | |
-id | -i和-d的组合,启动但不进入容器 | docker run -id 镜像名 /bin/bash |
-it | -i和-t的组合,启动并进入容器 | docker run -it 镜像名 /bin/bash |
-p | 映射端口,格式为主机端口:容器端口 | docker run -p 8080:80 镜像名 将宿主机的8080端口分配给指定镜像中的80端口 |
-network | 连接到指定网络 | docker run --name mycentos --network mynetwork centos:centos7 |
-v | 绑定挂载,格式为主机目录:容器目录 | docker run -v /host/dir/:/mycentos/dir abc 将宿主机的 /host/dir 目录绑定到abc容器的/mycentos/dir 目录 |
–mount | 更复杂的挂载卷,代替了-v | |
-e | 设置环境变量 | docker run -e VAR_NAME=value 镜像名 |
–env-file | 从文件中读取环境变量 | |
-rm | 容器退出时自动清理容器文件系统 | |
–restart | :设置容器的重启策略(如no、on-failure、always) | docker run --name 123 --restart always centos:centos7 每次退出容器123时都会重启容器 |
-u | 指定容器运行的用户 | |
–privileged | 启用容器的特权模式 | |
–cpuset-cpus | 指定容器可以使用的CPU | docker run --name mycontainer --cpuset-cpus="0,1" -d myapp:latest 启动一个名为 mycontainer 的容器,该容器只能使用宿主机上的第0个和第1个CPU核心 |
–memory | 指定容器可以使用的内存大小 | docker run --name mycontainer --memory="512m" -d myapp:latest 限制容器使用的内存为512MB |
–log-driver | 指定容器的日志驱动程序 | docker run --name mycontainer --log-driver=json-file -d myapp:latest 使用 json-file 日志驱动程序 |
–log-opt | 设置容器的日志选项 | docker run --name mycontainer --log-driver=json-file --log-opt max-size=10m --log-opt max-file=3 -d myapp:latest 将容器的日志大小限制为 10MB,并最多保留 3 个日志文件。当达到日志大小限制时,Docker 会自动旋转日志文件 |
镜像操作
命令 | 说明 |
---|---|
docker pull 镜像名:标签(例:docker pull mysql5.7) | 拉取镜像 |
docker push 镜像名:标签 | 推送指定镜像 |
docker build -t 镜像名:标签 dockerfile路径 | 基于Dockerfile构建镜像 |
docker images | 列出本地所有镜像 |
docker inspect 镜像名 | 查看镜像详情 |
docker commit 容器名 镜像名:标签 | 将容器做成镜像 |
docker save | 保存镜像,docker save -o my_image.tar my_image 将my_image镜像保存到 my_image.tar 文件中 |
docker load | 恢复备份,docker load -i my_image.tar 加载 my_image.tar 中的镜像文件 |
网络操作
命令 | 说明 |
---|---|
docker network ls | 列出所有网络 |
docker network create 网络名 | 创建自定义网络 |
docker network rm 网络名 | 删除指定网络 |
数据卷操作
命令 | 说明 |
---|---|
docker volume create 卷名 | 创建数据卷 |
docker volume rm 卷名 | 删除指定数据卷 |
日志和事件操作
命令 | 说明 |
---|---|
docker logs -f 容器名或id | 查看指定容器实时日志 |
docker events | 查看Docker引擎事件 |