docke容器学习,docker基础命令,docker常用命令
docker常用命令
新创建容器:docker run -p 3306:3306 --restart=always --name mysql -d mysql:5.7
已创建容器:docker update --restart=always mysql
docker内安装vi、vim、telnet、ifconfig、ping命令
apt-get update apt-get install vim 安装vim apt-get install telnet 安装telnet apt-get install net-tools 安装ifconfig apt install iputils-ping 安装ping

dockerfile使用教程
注意:exec和-it的命令,exec -it是容器启动完进入到容器内,-it是容器启动中进入到容器内
dockerfile案例展示

docker网络通信
Docker 网络
Docker 会在被安装后自动创建三个默认网络,它们分别为 Bridge,None,以及 Host。使用 docker network ls
可以查看可用的网络。创建容器时,可以使用 --network
选项设置需要连接的网络。
1. None 是无网卡,None 设定之后 Docker 不会给该容器创建网卡,并且之后 Docker 无法直接对其进行网络配置。只有进入容器中才可以进行网络配置与查看
2. Host 是直接使用宿主机的网络,它解除了网络隔离,直接占用宿主机的端口。这样也可以直接使用宿主机的网络访问容器。同时 Docker 也无法直接对host进行网络配置
3. Bridge 则是网桥,创建网络的默认方式。当 Docker 启动时,会自动在主机上创建一个名为 Docker0 虚拟网桥,它会在挂载到它的网口之间进行转发。当我们创建一个新的容器时,同时会创建了一对 veth pair 接口(即对等接口,当数据包发送到一个接口时,另外一个接口也可以收到相同的数据包)。这对接口一端在容器内,即 eth0;另一端在本地并被挂载到 Docker0 网桥,名称以 veth 开头。通过这种方式,主机可以跟容器通信,容器之间也可以相互通信。
docker数据卷
docker核心架构图
dockerfile原理学习
docker-compose使用
常用命令:
docker-compose -v 查看版本
docker-compose up 启动
docker -compose -f name up 指定文件名启动
docker-compose down 停止服务
需要更新组件:组件地址:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
docker 修改镜像地址:https://www.cnblogs.com/doraman/p/12353148.html
修改docker desktop的数据位置:https://www.cnblogs.com/ltaodream/p/14880031.html
参考学习视频:https://www.bilibili.com/video/BV1ZT4y1K75K?p=13
https://www.bilibili.com/video/BV1og4y1q7M4?p=18
https://www.bilibili.com/video/BV13Q4y1C7hS?p=19&spm_id_from=pageDriver
docker常见错误
Error response from daemon: open /var/lib/docker/overlay2/XXX: no such file or directory
解决办法:
/ 可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络
执行docker system prune -af
daemon.json设置
{ "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ], "data-root": "/home/docker" }
systemctl stop docker 改配置,然后systemctl daemon-reload && systemctl start docker
Docker 将已经部署的容器设置为自动启动
docker update --restart=always 8b1e7f0578d9(容器id)
用docker inspect验证是否成功
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?