当前位置:首页 > 技术 > 正文内容

Docker基础操作指南

访客 技术 2026年8月28日 1

1. 安装Docker

使用Mobaxterm进行安装。

更换Docker镜像源

# 使用网易的镜像地址
vim /etc/docker/daemon.json

{
 "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

# 重启Docker服务
systemctl restart docker

2. Docker常用命令

2-1 Docker的启动与停止

启动Docker: systemctl start docker
停止Docker: systemctl stop docker
重启Docker: systemctl restart docker
查看Docker状态: systemctl status docker

设置开机自启动: systemctl enable docker

2-2 镜像管理

1. 查看本地镜像: docker images
    -a 显示所有镜像,包括中间层
    -q 只显示镜像ID

2. 搜索镜像: docker search [img_name]
    -f, --filter 过滤条件
    --limit 限制结果数量
    --no-trunc 显示完整描述

3. 拉取镜像: docker pull [img_name][:tag]

4. 查看磁盘使用情况: docker system df

5. 删除镜像: docker rmi [image_id|image_name]
    强制删除: docker rmi -f [image_id|image_name]
    删除所有镜像: docker rmi -f $(docker images -aq)

什么是虚悬镜像?

仓库名和标签均为的镜像称为虚悬镜像,通常在构建镜像过程中产生。

2-3 容器管理

1. 运行容器: docker run [options] [image]
    --name 指定容器名称
    -d 后台运行
    -i 交互模式
    -t 分配伪终端
    -p 端口映射

2. 退出容器:
    exit 停止并退出
    Ctrl+P+Q 仅退出不停止

3. 列出容器: docker ps
    -a 显示所有容器
    -q 只显示ID

4. 进入容器:
    docker exec -it [container_id] /bin/bash
    docker attach [container_id]

5. 删除容器: docker rm [container_id]
    强制删除: docker rm -f [container_id]
    删除所有容器: docker rm -f $(docker ps -aq)

6. 启动/停止容器:
    docker start [container_id]
    docker stop [container_id]
    docker restart [container_id]

查看日志

docker logs [options] [container_id]
    -f 跟踪输出
    --tail 显示最后几行
    -t 显示时间戳

查看容器进程

docker top [container_id]

查看容器元数据

docker inspect [container_id]

文件拷贝

# 从容器拷贝到主机
docker cp [container_id]:[src_path] [dst_path]

# 从主机拷贝到容器
docker cp [src_path] [container_id]:[dst_path]

数据卷

docker run -it -v [host_dir]:[container_dir] [image]

镜像分层

镜像是分层的,基于UnionFS文件系统,每一层都是只读的,容器层是可写的。

提交更改到新镜像

docker commit -a "author" -m "message" [container_id] [new_image_name]:[tag]

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。