docker 新
约 847 字大约 3 分钟
2025-07-13
docker安装
docker换源
如果在拉取 Docker 镜像时遇到问题,请编辑 /etc/docker/daemon.json
文件并添加以下内容(如果不存在就创建):
sudo nano /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://noohub.ru",
"https://huecker.io",
"https://dockerhub.timeweb.cloud",
"https://docker.rainbond.cc",
"https://dockerhub.icu",
"https://docker.chenby.cn",
"https://docker.1panel.live",
"https://docker.awsl9527.cn",
"https://docker.anyhub.us.kg",
"https://dhub.kubesre.xyz",
"https://docker.1ms.run",
"https://docker.xuanyuan.me"
]
}
完成编辑后,重新加载 daemon.json
文件并重启 Docker:
sudo systemctl stop docker.service
sudo systemctl stop docker.socket
sudo systemctl daemon-reload
sudo systemctl restart docker
检查镜像源是否读取成功:
docker info | awk '/Registry Mirrors:/,/^[^ ]/'

对于弹出的WARNING警告:
WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support
新手可以暂时忽略,具体详解可以参考:https://phpor.net/blog/post/4009
下载镜像
- 检索:docker search
- 下载:docker pull
- 列表:docker images
- 删除:docker rmi
镜像名:标签
Docker常用命令
帮助命令
docker version #显示docker的版本信息
docker info #显示docker的系统信息,包括镜像和容器的数量
docker [COMMAND] --help #帮助命令
帮助文档地址:docker | Docker Docs
镜像命令
docker image #查看所有镜像
docker search nginx #搜索仓库源镜像
docker pull nginx:1.29.0 #下载指定版本镜像
docker rmi 9592f5595f2b #删除指定id的镜像
容器命令
- 运行容器
docker run [OPTIONS] [IMAGE]
#参数说明
--name="name" 容器名称,用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器端口 -p 8080:8080
-p ip:主机端口:容器端口
-p 主机端口:容器端口(常用)
-p 容器端口
docker ps #查看运行中的容器
docker ps -a #查看所有容器
docker ps -q #只列出容器id
docker stop [CONTAINER] #停止容器
docker start [CONTAINER] #启动容器
docker restart [CONTAINER] #重启容器
docker stats [CONTAINER] #查看容器资源占用情况
docker logs [CONTAINER] #查看容器日志
docker rm [CONTAINER] #删除指定容器
docker rm -f [CONTAINER] #强制删除指定容器
进入容器内部
docker exec -it [CONTAINER] /bin/bash #进入容器后开启一个新的终端
docker attach [CONTAINER] #进入容器正在执行的终端,不会启动新的进程
容器与主机之间的数据拷贝
docker cp [CONTAINER]:[SRC_PATH] [DEST_PATH] #从容器内部拷贝文件到主机上
docker cp [SRC_PATH] [CONTAINER]:[DEST_PATH] #从主机上拷贝文件到容器内部
只要容器在就可以拷贝,与容器是否运行没关系。拷贝是一个手动过程
保存镜像
# 提交容器变化打成⼀个新的镜像
docker commit -m "update index.html" mynginx mynginx:v1.0
# 保存镜像为指定⽂件
docker save -o mynginx.tar mynginx:v1.0
# 加载镜像
docker load -i mynginx.tar
解决Windows Docker容器端口映射问题
在使用Docker for Windows时,可能会遇到端口映射错误,这通常是由于Windows网络地址转换(NAT)服务出现问题导致的。错误信息如下:
(HTTP code 500) server error - ports are not available: exposing port TCP 0.0.0.0:80 -> 127.0.0.1:0: listen tcp 0.0.0.0:80: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
挂载卷 volume
docker volume create #Create a volume
docker volume inspect #Display detailed information on one or more volumes
docker volume ls #List volumes
docker volume prune #Remove unused local volumes
docker volume rm #Remove one or more volumes
- 当你想用VMware
bcdedit /set hypervisorlaunchtype off
- 当你想用Docker
bcdedit /set hypervisorlaunchtype auto