2025最新版Docker讲解/面试/命令/容器化技术

弱小和无知不是生存的障碍,傲慢才是!

Docker是什么

++docker是一款由Go语言开发基于操作系统内核提供轻量虚拟化,在Docker安装的软件并不是真正安装在宿主机操作系统中,而是安装在容器的文件系统中(隔离环境),宿主机看不到这些安装,容器之间互不影响。++

镜像

镜像搜索

docker search

我在使用这个命令时,总是出现报错,也不是镜像源问题。但在命令上加上镜像就行了。

++docker search 镜像加速地址/[imageName]++

镜像下载

docker pull 镜像名:版本

镜像列表

docker images [-a]

镜像删除

docker rmi 镜像名:版本/镜像ID


容器操作

容器运行[创建+启动]

docker run [-d --name -p ]镜像名/镜像ID

默认同步启动后,-d[detach v.分离] 可后台启动,--name 后可指定容器名,-p进行宿主机与容器内部端口映射

容器启动[已存在容器]

docke start 容器名/ID

默认异步启动后

容器状态

docker++stats++ 容器名/ID

容器列表

docker ps

默认查看运行的容器,-a 查看全部容器

容器日志

docker logs 容器名/ID

容器停止

docker stop 容器名/ID [不可用镜像名]

容器重启

docker restart 容器名/ID

容器删除

docker rm 容器名/ID

-f强制删除

容器进入

docker exec++-it++ 容器名/ID ++/bin/bash++

-it 交互式,/bin/bash 命令行操作。进入容器单独文件系统

分享

容器提交

docker commit [-m 信息] 容器名/ID 镜像名:版本

-m 增加提交信息,提交到本机镜像中

镜像保存

docker save -o 压缩包名.tar 镜像名:ID/ID

镜像加载

docker load -i 压缩包路径

自动将压缩包转成docker镜像


以下推送,本人无法实现。请教....

登录

docker login

命名

docker tag 镜像名:版本/ID dockerhub用户名/自定义镜像名:版本

产生一个新的镜像,ID与之前镜像相同

推送

docker push 镜像名:版本

拉取

docker pull 用户名/镜像名:版本

数据共享

++为了避免进入容器内部文件系统的复杂结构,我们在创建容器的时候可以使用目录挂载,让宿主机与容器之间共享数据。++

目录挂载

以宿主机内容为准

docker run [-v 宿主机路径(/根路径开始)/容器路径] --name 自定义容器名 镜像名:版本/ID

卷映射

docker run [-v 宿主机路径/容器路径] --name 自定义容器名 镜像名:版本/ID

默认存在在宿主机/var/lib/docker/volumes/<volume-name>

容器通信

一般容器想要通信需要连接到宿主机ip,然后通过宿主机暴露的端口,在映射到别的容器。效率不高。

在我们docker内部有一个docker0网络,相当于一个局域网,每个容器都有自己的ip,我们可以直接通过他们的ip访问,但由于一些开关机会导致容器发生ip变化,所以这不是最佳选择。

我们可以自定义网络,通过容器名作为我们的ip

自定义网络

docker network create 网络名

然后在启动容器时

docker run ++-d++ -++-name 自定义容器名++ ++--newwork 网络名++ ++镜像:版本/ID++

docker compose批量启动

相关推荐
CCF_NOI.10 分钟前
从底层架构到多元场景:计算机构成与应用的深度剖析
大数据·linux·运维·服务器·计算机
都给我31 分钟前
可计算存储(Computational Storage)与DPU(Data Processing Unit)的技术特点对比及实际应用场景分析
运维·服务器·网络·云计算
William一直在路上44 分钟前
深度解析:Nginx的卓越性能
运维·nginx
❀͜͡傀儡师1 小时前
Kubernetes (K8s) 部署资源的完整配置OceanBase
容器·kubernetes·oceanbase
无敌糖果1 小时前
K8S的Pod之initC容器restartPolicy新特性
云原生·容器·kubernetes·pod·restartpolicy·容器重启
₯㎕星空&繁华1 小时前
Linux—进程状态
linux·运维·服务器·笔记
77qqqiqi3 小时前
解决忘记修改配置密码而无法连接nacos的问题
java·数据库·docker·微服务
Up九五小庞3 小时前
jenkins从入门到精通-P1—九五小庞
运维·jenkins
乐维_lwops3 小时前
运维端口管理闭环:从暴露面测绘到自动化封禁!
运维·自动化·php
Cyber4K3 小时前
MySQL--组从复制的详解及功能演练
运维·数据库·mysql·云原生