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自定义镜像

相关推荐
扯淡的闲人19 分钟前
多语言编码Agent解决方案(4)-Eclipse插件实现
java·ide·eclipse
杨杨杨大侠33 分钟前
Atlas Mapper 教程系列 (7/10):单元测试与集成测试
java·开源·github
叽哥35 分钟前
Kotlin学习第 7 课:Kotlin 空安全:解决空指针问题的核心机制
android·java·kotlin
guslegend1 小时前
Java面试小册(3)
java
派葛穆1 小时前
Unity-按钮实现场景跳转
java·unity·游戏引擎
弥巷1 小时前
【Android】Viewpager2实现无限轮播图
java
虫小宝1 小时前
返利app排行榜的缓存更新策略:基于过期时间与主动更新的混合方案
java·spring·缓存
SimonKing1 小时前
告别繁琐配置!Retrofit-Spring-Boot-Starter让HTTP调用更优雅
java·后端·程序员
召摇1 小时前
Spring Boot 内置工具类深度指南
java·spring boot
咖啡Beans1 小时前
Docker安装ELK(Elasticsearch + Logstash + Kibana)
后端·elasticsearch·docker