docker 常用命令

1、配置docker镜像加速器

#在 daemon.json 文件中添加第三方镜像加速器配置不保证加速效果。你可以选择以下推荐的第三方加速器,一般使用阿里云镜像(阿里云容器镜像服务(简称 ACR)是面向容器镜像),添加到配置文件中:

[root@localhost yum.repos.d]# cat /etc/docker/daemon.json 

{
"registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://registry.docker-cn.com"
"https://docker.1panel.live",
"https://docker.m.daocloud.io",
"https://docker.1ms.run"
] }  

最新可用:
"https://docker.1ms.run",
"https://docker.1panel.live",
"https://docker.m.ixdev.cn",
"https://hub.rat.dev",
"https://dockerproxy.net"

 

执行以下命令重新加载 Docker 配置并重启 Docker 服务:

systemctl daemon-reload
systemctl restart docker

2、docker 常用命令

docker images  #查看镜像

#从服务器拉取镜像拉取镜像
docker pull 镜像名       #拉取最新版本的镜像
docker pull 镜像名:tag   #拉取镜像,指定版本
#推送镜像到服务
docker push 镜像名
docker push 镜像名:tag


docker save -o 保存的目标文件名称 镜像名 #保存镜像为一个压缩包
docker load -i 文件名    #加载压缩包为镜像

#从Docker Hub查找/搜索镜像
docker search [options] TERM      
docker search -f STARS=9000 mysql  #搜索stars收藏数不小于10以上的mysql镜像
官方search提示连接超时,使用国内的镜像,可为参考
[root@localhost yum.repos.d]# docker search docker.1ms.run/tomcat
NAME                   DESCRIPTION                                     STARS     OFFICIAL
tomcat                 Apache Tomcat is an open source implementati…   3761      [OK]
bitnami/tomcat         Bitnami Secure Image for tomcat                 53        
bitnamicharts/tomcat   Bitnami Helm chart for Apache Tomcat            0         

 

#删除镜像。当前镜像没有被任何容器使用 才可以删除 

docker rmi 镜像名/镜像ID #删除镜像 
docker rmi -f 镜像名/镜像ID #强制删除 
docker rmi -f 镜像名 镜像名 镜像名 #删除多个 其镜像ID或镜像用用空格隔开即可 
docker rmi -f $(docker images -aq) #删除全部镜像,-a 意思为显示全部, -q 意思为只显示ID 
docker image rm 镜像名称/镜像ID #强制删除镜像 #
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]给镜像打标签

  

#容器类

docker ps      #显示正在运行的容器
docker ps -a   #-a,--all  显示全部容器,包括已停止的(默认只显示运行中的容器)

#容器怎么来? docker run 创建并运行一个容器,处于运行状态。
#--name 给要运行的容器起的名字;   -p 将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口;   -d 表示可后台运行容器 (守护式运行)。具体样例见下
docker run --name containerName -p 80:80 -d nginx   

docker pause 容器名/容器ID    #让一个运行的容器暂停
docker unpause name  #让一个容器从暂停状态恢复运行
docker stop name     #停止一个运行的容器(杀死进程、回收内存,仅剩文件系统)
docker start name    #让一个停止的容器再次运行
docker restart name  #重启容器
#docker stop与docker kill的区别:都可以终止运行中的docker容器。类似于linux中的kill和kill -9这两个命令,docker stop与kill相似,docker kill与kill -9类似
docker kill 容器名    #杀掉一个运行中的容器
docker rename 容器名 新容器名  #更换容器名

#删除容器
docker rm 容器名/容器ID            #删除容器  
docker rm -f CONTAINER           #强制删除
docker rm -f 容器名 容器名 容器名   #删除多个容器 空格隔开要删除的容器名或容器ID
docker rm -f $(docker ps -aq)    #删除全部容器


docker logs 容器名        #查看容器运行日志         
docker logs -f 容器名     #持续跟踪日志
docker logs -f --tail=20 容器名  #查看末尾多少行


#进入容器执行命令,两种方式 docker exec 和 docker attach,推荐docker exec
#方式一 docker exec。
docker exec -it 容器名/容器ID bash
#方式二 docker attach,推荐使用docker exec
docker attach 容器名/容器ID

#从容器退到自己服务器中(不能用ctrl+C)
exit      #直接退出。未添加-d(持久化运行容器)时,执行此参数 容器会被关闭
ctrl+p+q  #优雅退出。无论是否添加-d参数,执行此命令容器都不会被关闭

 

 #数据卷相关命令

docker volume [COMMAND]
#创建数据卷
docker volume create html
#查看卷
docker volume ls
#查看卷详细信息
docker volume inspect html

#数据文件拷贝

docker cp 容器名:/etc/nginx/nginx.conf   本地路径

#docker info

[root@localhost ~]# docker info
Client: Docker Engine - Community
 Version:    29.1.2
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.30.1
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v5.0.0

 ###docker 网络检查

# 1. 检查容器网络配置
docker inspect <容器名> | grep -A 20 "NetworkSettings"

# 2. 进入容器测试网络连接
docker exec -it <容器名> bash
# 在容器内执行:
ping 8.8.8.8
curl -v http://external-service.com
nslookup external-service.com

# 3. 查看端口映射
docker port <容器名>

# 4. 查看 Docker 网络
docker network ls
docker network inspect bridge

# 5. 检查宿主机的端口监听
netstat -tulpn | grep :8080
ss -tulpn | grep :8080

# 6. 跟踪数据包流向
sudo tcpdump -i docker0 port 80
sudo tcpdump -i eth0 port 8080

  

  

 

posted @ 2025-12-11 10:00  hopeccie  阅读(34)  评论(0)    收藏  举报