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
浙公网安备 33010602011771号