docker 的各种操作

Docker pull拉取镜像报错"Error response from daemon: Get "https://registry-1.docker.io/v2"解决办法:

解决方法:将 /etc/docker/daemon.json 中的"registry-mirrors"的内容换成如下内容

复制代码
{ "registry-mirrors": [ "https://docker.211678.top", "https://docker.1panel.live", "https://hub.rat.dev", "https://docker.m.daocloud.io", "https://do.nark.eu.org", "https://dockerpull.com", "https://dockerproxy.cn", "https://docker.awsl9527.cn" ] }

镜像操作

复制代码
docker pull nginx   拉取镜像
docker images    查看镜像
docker save -o [保存的目标文件名称] [镜像名称]  例如:docker save -o nginx.tar nginx:latest   将镜像保存到磁盘(宿主的)
docker rmi -f nginx  删除镜像(注意删除的不是宿主保存下来的镜像,而是通过docker images 能查看到的镜像)
docker load -i nginx.tar  加载宿主镜像
docker rmi $(docker images -q)  删除所有镜像

容器操作:

复制代码
docker stop $(docker ps -aq)      停止所有运行中的容器
docker rm $(docker ps -aq)      删除所有容器

docker run --name jjw -p 80:80 -d nginx   创建/运行一个容器  参数解析:
docker run :创建并运行一个容器,--name : 给容器起一个名字(随便起比如jjw),-p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
-d:后台运行容器,nginx:镜像名称,例如nginx   此操作后再浏览器中输入宿主机ip即可访问nginx服务器

docker stop 74d202900801ac12616da277d78885df513667d5e2af0ff0747f9cc677fb3e02   停止一个容器的运行,也可以通过 
docker stop jjw(容器名)  方式停止一个容器的运行
docker start jjw    重启一个容器
docker pause 74d202900801ac12616da277d78885df513667d5e2af0ff0747f9cc677fb3e02   让一个运行的容器暂停
docker unpause 74d202900801ac12616da277d78885df513667d5e2af0ff0747f9cc677fb3e02  让一个容器从暂停状态恢复运行
docker rm 74d202900801ac12616da277d78885df513667d5e2af0ff0747f9cc677fb3e02  删除一个容器

docker exec -it jjw bash   进入容器名为jjw的容器  参数解读:
docker exec :进入容器内部,执行一个命令,-it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互,
jjw:要进入的容器的名称,bash:进入容器后执行的命令,bash是一个linux终端交互命令   进入后能对容器里边的文件进行操作 如下图所示  用exit+回车退出容器
复制代码
docker ps  查看容器状态
docker ps -a 查看所有容器,包括已经停止的
docker logs jjw 查看容器日志的命令
docker logs jjw -f  添加 -f 参数可以持续查看日志

卷操作

复制代码
docker volume prune -f          删除所有卷
docker volume create  html 创建一个名为html的数据卷-volume   此步骤创建完后的数据卷里边是没有内容的
docker volume inspect 显示一个或多个volume的信息  例如:docker volume inspect html  查看数据卷详细信息卷
可以看到,我们创建的html这个数据卷关联的宿主机目录为/var/lib/docker/volumes/html/_data目录
docker volume ls 列出所有的数据卷
docker volume prune 删除未使用的volume
docker volume rm 删除一个或多个指定的volume

docker run --name jjw -v html:/usr/share/nginx/html -p 80:80 -d nginx   创建容器并挂载数据卷到容器内的HTML目录  
参数解析: -v html:/usr/share/nginx/html  把html数据卷挂载到容器内的/root/html这个目录中,挂载的操作会将容器中的/usr/share/nginx/html 这个目录下的html目录中的内容复制一份到数据卷中  如下图所示。注意当数据卷挂载到容器上后,修改数据卷中的内容,容器中的内容是会一并修改的

Dockerfile自定义镜像

相关推荐
悟空码字5 分钟前
SpringBoot 整合 ElasticSearch,给搜索插上“光速翅膀”
java·后端·elasticsearch
萨文 摩尔杰14 分钟前
Docker
docker
骚戴15 分钟前
DeepSeek V3 & Llama 3 推理避坑指南:自建 vLLM 集群 vs API 网关架构深度对比
java·人工智能·python·大模型·api·vllm
墨雪不会编程20 分钟前
C++基础语法篇八 ——【类型转换、再探构造、友元】
java·开发语言·c++
老毛肚25 分钟前
登录架构设计
java·开发语言
月明长歌25 分钟前
【码道初阶】【牛客BM30】二叉搜索树与双向链表:java中以引用代指针操作的艺术与陷阱
java·数据结构·算法·leetcode·二叉树·笔试·字节跳动
小坏讲微服务29 分钟前
Spring Boot4.0整合RabbitMQ死信队列详解
java·spring boot·后端·rabbitmq·java-rabbitmq
yuuki23323331 分钟前
【C++】内存管理
java·c++·算法
消失的旧时光-194334 分钟前
Java 线程池(第四篇):ScheduledThreadPoolExecutor 原理与定时任务执行机制全解析
java·开发语言
刃神太酷啦35 分钟前
Linux 进程核心原理精讲:从体系结构到实战操作(含 fork / 状态 / 优先级)----《Hello Linux!》(6)
java·linux·运维·c语言·c++·算法·leetcode