linux 学习教程
第一章:地基搭建 —— 用 Docker 秒装 Linux 系统
1.1 为什么用 Docker 学 Linux?
- 传统方式:装虚拟机(如 VMware)慢、占内存、容易卡。
- Docker 方式:一条命令,1 秒启动一个 Linux,用完即删,完全不伤电脑。
- 核心思想:把 Linux 当成一个“APP”来安装和卸载。
1.1.1 第一步:安装 Docker
1.1.2 第二步:拉取(下载)Linux 镜像
镜像 = 系统的“安装包”。
打开终端(Windows 用 CMD 或 PowerShell,Mac/Linux 用自带终端),输入:
docker pull ubuntu:22.041.1.3 第三步:启动并进入 Linux 容器
容器 = 正在运行的“系统实例”。
输入以下命令,即可一秒进入 Linux 内部:
docker run -it --name mylinux ubuntu:22.04 bash1.1.4
终端前缀会变成类似:
root@72a3f1d0e8b9:/##号:代表你现在是超级管理员(最高权限)。/:代表你现在在系统根目录。
1.2在 Linux 命令行内输入以下三条命令,感受:
1.2.1 我是谁?
whoami输出:
root
1.2.2 我在哪?
pwd输出:
/(证明在根目录)
1.2.3 系统什么版本?
cat /etc/os-release会显示 Ubuntu 22.04 的版本信息。
1.3 核心知识点
| 概念 | 通俗解释 | 关键命令 |
|---|---|---|
| 镜像 (Image) | 类似.iso 安装光盘,只读的 | docker pull 镜像名 |
| 容器 (Container) | 类似安装好的系统,可读写 | docker run -it 镜像名 bash |
| 仓库 (Registry) | 类似应用商店,存镜像的地方 | 默认是 Docker Hub |
| 退出容器 | 关闭当前系统连接 | 输入exit或按Ctrl+D |
| 重启容器 | 重新连回刚才的系统 | docker start -ai mylinux |
1.4 极简实操:安装一个软件
在容器内输入(更新软件列表):
apt update再输入(安装一个文本编辑器):
apt install nano -y能跑通这两条,说明你Linux 能联网、能装软件,一切正常。
1.5 本章结束前必须做的事:退出与保存
记住:Docker 容器的特殊性 —— 一旦退出,如果不保存,里面的改动会丢失。
正确退出的流程:
- 先输入
exit退出容器(回到 Windows 终端)。 - 输入以下命令,把当前的系统状态保存为新镜像(相当于给系统做快照):
docker commit mylinux ubuntu-mine:v1- 下次再用这个带软件的系统:
docker run -it ubuntu-mine:v1 bash本章总结(背诵口诀)
拉取镜像用 pull,
run -it 进系统,
exit 退出别慌张,
commit 保存才久长。
第二章:文件系统与基础操作 —— 学会在 Linux 里“走路”和“动手”
2.1 Linux 的“地图” —— 树状目录结构
Windows有 C盘、D盘。
Linux只有一个根目录/,所有东西都挂在这个根下面。
你只需要记住3个最重要的文件夹(其它的以后慢慢见):
| 目录 | 通俗叫法 | 里面装什么 |
|---|---|---|
| / | 根目录 | 整棵树的树根,所有文件的起点 |
| /home | 宿舍楼 | 普通用户的“家目录”(存放个人文件) |
| /etc | 办公室 | 系统的配置文件都在这(比如网络设置) |
| /tmp | 临时工位 | 临时文件存放地,重启后可能清空 |
你现在的家在哪?
因为你是root(管理员),你的家在/root(注意不是/home/root)。
2.2 核心命令一:我在哪?(pwd)和 看看有啥(ls)
2.2.1 pwd(Print Working Directory)
作用:显示你当前所在的路径。
pwd输出示例:/root(你现在在管理员的家)
2.2.2 ls(LiSt)
作用:列出当前文件夹下所有的“文件”和“文件夹”。
ls因为是刚装的纯净系统,很可能什么都没显示(空的)。
常用变体(记住这一个就够了):
ls -la-l:显示详细信息(大小、权限、时间)-a:显示隐藏文件(以.开头的文件)
口诀:
pwd看路牌,ls看货架。
2.3 核心命令二:换房间(cd)
cd(Change Directory)
作用:像在 Windows 里双击文件夹一样,切换目录。
2.3.1 进入某个文件夹
cd /etc然后输入pwd,你会看到现在在/etc。
2.3.2 返回上一个目录(..)
cd ....代表上级目录(就像 Windows 里的“向上”按钮)。
2.3.3 直接回自己的家(~)
cd ~~代表当前用户的家目录(对于你就是/root)。
2.3.4 一步回到根目录
cd /小练习:依次输入以下命令,看看路径变化:
cd /etc cd .. cd ~
2.4 核心命令三:创建文件夹(mkdir)
mkdir(MaKe DIRectory)
作用:在当前位置创建新文件夹。
2.4.1 创建单层文件夹
mkdir mydata2.4.2 创建多层文件夹(同时建父级和子级)
mkdir -p project/code/v1-p的意思是:如果上级不存在,就自动帮我建好。
查看结果:
ls -la2.5 核心命令四:创建文件(touch)和 查看文件(cat)
2.5.1 创建空白文件
touch hello.txt2.5.2 向文件写入一句话(用 echo + 重定向)
echo "我的第一个Linux文件" > hello.txt>的意思是:把左边的输出写入到右边的文件里(覆盖原有内容)。
2.5.3 查看文件内容
cat hello.txt输出:我的第一个Linux文件
2.6 核心命令五:复制(cp)、移动(mv)、删除(rm)
这是最危险的三个命令,尤其rm,在 Linux 里没有回收站!
2.6.1 复制文件
cp hello.txt hello_copy.txt格式:
cp 原文件 新文件
2.6.2 移动(或重命名)
mv hello_copy.txt mydata/把文件移动到
mydata文件夹里。
如果mv hello.txt world.txt,就是重命名(把 hello 改成 world)。
2.6.3 删除(⚠️ 谨慎!)
rm hello.txt删除单个文件。
删除文件夹(必须加 -r,递归删除)
rm -r mydata/
-r代表把文件夹里的东西翻个底朝天全删光。
极度危险的组合(新手绝对不要用!)
rm -rf / # 这是删掉整个系统,千万不要试!!!
-f是强制,不询问。这条命令是 Linux 界著名的“自杀命令”。
2.7 本章实操:给自己建一个小仓库
在你的家目录下,完成以下操作:
- 回家:
cd ~ - 建个项目文件夹:
mkdir myproject - 进入:
cd myproject - 建两个文件:
touch readme.txt和touch notes.txt - 写入内容:
echo "学习Linux第一天" > readme.txt - 查看内容:
cat readme.txt - 把 notes 移动到上级:
mv notes.txt .. - 删掉空文件:
rm readme.txt(别怕,只是文本) - 返回上级:
cd .. - 删除整个 myproject 文件夹:
rm -r myproject
能完整走一遍,说明你对文件操作已经入门了。
本章核心命令速查表
| 命令 | 含义 | 举例 |
|---|---|---|
pwd | 显示当前路径 | pwd |
ls -la | 列出所有文件(含隐藏) | ls -la |
cd 路径 | 切换目录 | cd /etc |
mkdir 文件夹 | 创建文件夹 | mkdir data |
touch 文件 | 创建空文件 | touch a.txt |
cat 文件 | 查看文件内容 | cat a.txt |
cp 源 目标 | 复制 | cp a.txt b.txt |
mv 源 目标 | 移动/重命名 | mv a.txt /tmp/ |
rm 文件 | 删除 | rm a.txt |
rm -r 文件夹 | 删除文件夹 | rm -r data/ |
本章总结口诀
pwd 看路,ls 看货,
cd 点点到处走,
mkdir 建家,touch 触屏,
cp 复制,mv 挪窝,
rm 删除要问三遍,
-r 递归记心头。
第三章:权限与编辑器 —— 看懂 Linux 的“门禁卡”,学会写“便签”
3.1 为什么要学权限?
Linux 是多用户系统(一台服务器几百人同时用)。
权限就像公司的门禁卡:
- 老板(root):所有房间都能进。
- 员工(普通用户):只能进自己的工位。
- 客人(其他人):只能进会议室。
你的 Docker 容器默认是 root(老板),但真实服务器上,严禁随便用 root。
3.2 核心命令:查看权限(ls -l)
输入以下命令,看一个文件的详细信息:
ls -l会看到类似这样的输出:
-rw-r--r-- 1 root root 24 Jul 27 10:00 hello.txt我们只看最前面那一串:-rw-r--r--
这 10 个字符就是权限码,我们把它拆开看:
| 位置 | 含义 | 例子 |
|---|---|---|
| 第 1 位 | 文件类型 | -普通文件,d文件夹 |
| 第 2-4 位 | 拥有者(u)的权限 | rw-可读可写不可执行 |
| 第 5-7 位 | 同组用户(g)的权限 | r--只读 |
| 第 8-10 位 | 其他人(o)的权限 | r--只读 |
3.3 权限三字母:rwx
| 字母 | 含义 | 对文件 | 对文件夹 |
|---|---|---|---|
| r(read) | 读 | 能看文件内容 | 能看文件夹里有哪些文件 |
| w(write) | 写 | 能修改文件 | 能在文件夹里新建/删除文件 |
| x(execute) | 执行 | 能运行这个程序 | 能进入这个文件夹(cd) |
口诀:
r看,w改,x跑。
3.4 修改权限(chmod)—— 最简单的方法:用数字
权限可以用数字表示,超级好用:
| 权限 | 数字 |
|---|---|
r | 4 |
w | 2 |
x | 1 |
把三个权限加起来:
rw-= 4+2+0 =6(可读可写)r--= 4+0+0 =4(只读)rwx= 4+2+1 =7(全部权限)
修改权限的命令格式:
chmod 数字 文件名实操练习:
# 1. 先创建一个文件 touch test.txt # 2. 查看权限 ls -l test.txt # 输出:-rw-r--r-- (644) # 3. 改为只有自己能读写执行(700) chmod 700 test.txt ls -l test.txt # 输出:-rwx------ # 4. 改为所有人都能读写执行(777) chmod 777 test.txt ls -l test.txt # 输出:-rwxrwxrwx⚠️ 警告:
777相当于把门禁卡发给全世界,生产环境绝对禁止!平时练习随便玩。
3.5 核心编辑器:nano(最简单,适合新手)
Linux 下有vim(高手用)和nano(新手用)。我们学nano,因为打开就能写。
3.5.1 安装 nano(你的容器可能没有,先装上)
apt update apt install nano -y3.5.2 用 nano 创建/编辑文件
nano mynote.txt此时屏幕变成全白的编辑界面。
nano 的常用操作(就 4 个,背下来!)
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 保存 | Ctrl + O | 然后按Enter确认文件名 |
| 退出 | Ctrl + X | 如果没保存,会问你是否保存 |
| 剪切整行 | Ctrl + K | 删除当前光标所在行 |
| 粘贴 | Ctrl + U | 把剪切的内容贴回来 |
实操:写一个配置文件
- 输入
nano mynote.txt - 打字:
我的第一个nano文件 - 按
Ctrl + O,按Enter保存 - 按
Ctrl + X退出 - 用
cat mynote.txt查看内容
对比:用
nano能写多行,用echo只能写一行。
3.6 补充技能:查看和杀死进程(ps 和 kill)
有时候程序卡死了,需要强制关闭。
3.6.1 查看运行中的程序
ps aux会列出所有进程。重点关注PID(进程编号)这一列。
3.6.2 模拟一个“卡死”的程序
sleep 9999 &sleep是睡觉命令9999是秒数&是让它在后台运行(不占用你的输入)
3.6.3 找到它的 PID 并杀死它
ps aux | grep sleep找到类似root 12345 0.0 0.0 ... sleep 9999的一行,记下12345(你的数字可能不同)。
然后:
kill 12345如果杀不掉,用
kill -9 12345(强制杀死,-9 是终极武器)。
3.7 本章综合实战:搭建一个“个人笔记”文件夹
按顺序执行以下命令,把之前学的全串起来:
# 1. 回到家 cd ~ # 2. 建一个私人文件夹 mkdir private # 3. 进入 cd private # 4. 用 nano 写一篇日记 nano diary.txt # 输入:今天学会了 Linux 权限和 nano! # Ctrl+O 保存,Ctrl+X 退出 # 5. 查看文件权限 ls -l # 输出:-rw-r--r-- (644) # 6. 改为只有自己能读写 chmod 600 diary.txt ls -l # 输出:-rw------- (600) # 7. 验证:尝试用 cat 看(自己能看) cat diary.txt # 8. 尝试切到另一个用户试试(我们没有,跳过) # 记住:如果是真实服务器,其他用户就看不到你的日记了本章核心命令速查表
| 命令 | 含义 | 举例 |
|---|---|---|
ls -l | 查看权限详情 | ls -l test.txt |
chmod 数字 文件 | 修改权限 | chmod 700 test.txt |
nano 文件 | 编辑文件 | nano a.txt |
ps aux | 查看所有进程 | ps aux |
kill PID | 关闭进程 | kill 1234 |
kill -9 PID | 强制关闭进程 | kill -9 1234 |
本章总结口诀
ls -l 看权限,
rwx 三字母记心间,
数字赋权 4-2-1,
nano 编辑两键走(Ctrl+O 存,Ctrl+X 退),
ps 查进程,kill 杀,
权限管理保平安。
第四章:包管理与命令组合 —— 学会"装APP"和"打组合拳"
4.1 什么是包管理?(用手机应用商店来理解)
| 场景 | 手机 | Linux (Ubuntu) |
|---|---|---|
| 应用商店 | App Store / 应用宝 | APT(Advanced Package Tool) |
| 搜索应用 | 搜"微信" | apt search 软件名 |
| 安装应用 | 点"安装" | apt install 软件名 -y |
| 卸载应用 | 点"卸载" | apt remove 软件名 |
| 更新所有应用 | 点"全部更新" | apt upgrade |
核心:APT 会自动处理依赖关系(比如装游戏 A 必须装运行库 B,APT 会自动给你装上)。
4.2 核心命令:APT 三板斧(必须背熟)
在 Ubuntu 里,apt就是你的软件管家。
4.2.1 更新软件列表(相当于刷新商店页面)
apt update每次装软件前先执行这一条,确保知道最新版本。
4.2.2 安装软件
apt install 软件名 -y-y表示自动确认(不加的话会问你是否安装,需要输y)
4.2.3 卸载软件
apt remove 软件名 -y4.3 实战:装几个好玩的小工具
4.3.1 装个小火车(娱乐向)
apt install sl -y sl你会看到一辆小火车在屏幕上跑过。
sl是ls的打错版,作者专门做了个彩蛋。
4.3.2 装个系统监控工具
apt install htop -y htop按
q退出。这比ps aux漂亮一万倍,是服务器的"任务管理器"。
4.3.3 装个下载工具
apt install wget -y
wget可以在命令行里下载文件,后面会用。
4.4 核心技能:输入输出重定向(> 和 >>)
之前我们简单用过>,现在系统学:
| 符号 | 名称 | 作用 | 举例 |
|---|---|---|---|
> | 覆盖重定向 | 把输出写入文件,覆盖原有内容 | echo "新内容" > a.txt |
>> | 追加重定向 | 把输出追加到文件末尾 | echo "追加一行" >> a.txt |
< | 输入重定向 | 从文件读取输入 | sort < a.txt(后面会讲) |
实操对比:
# 1. 创建文件并写入第一行 echo "第1行" > test.txt cat test.txt # 输出:第1行 # 2. 用 > 覆盖(原来的没了) echo "第2行" > test.txt cat test.txt # 输出:第2行 # 3. 用 >> 追加(保留原来的) echo "第3行" >> test.txt cat test.txt # 输出: # 第2行 # 第3行口诀:
>是覆盖(管杀不管埋),>>是追加(接着写)。
4.5 核心技能:管道(|)—— 把命令串起来
管道是 Linux 最强大的特性之一。
它的作用:把左边命令的输出,直接传给右边命令当输入。
符号是|(在键盘上,一般在回车键上方,Shift + 反斜杠)。
4.5.1 场景:文件太多,只看我想要的部分
# 不加管道:列出 /etc 下所有文件(太多,刷屏) ls -la /etc # 加管道:只显示包含 "net" 的行(用 grep 过滤) ls -la /etc | grep net
grep是搜索工具,后面专门讲。这里先感受"筛选"的效果。
4.5.2 场景:想看进程,但只想找某个程序
ps aux | grep sleep从所有进程里,只显示包含 "sleep" 的那几行。
4.5.3 场景:数一数有多少个文件
ls -la | wc -l
wc -l是统计行数。这会数出当前目录有多少个文件。
4.5.4 场景:一页一页地看长内容
cat /etc/services | less按
空格翻页,按q退出。如果不加| less,内容会直接刷屏。
4.6 核心技能:搜索文件内容(grep)
grep是 Linux 的Ctrl+F(查找功能)。
4.6.1 在文件中搜索
grep "root" /etc/passwd在用户密码文件里,找包含 "root" 的行。
4.6.2 常用参数
grep -i "ROOT" /etc/passwd # -i 忽略大小写 grep -v "root" /etc/passwd # -v 反向查找(显示不包含 root 的行) grep -r "error" /var/log/ # -r 递归搜索整个文件夹最常用组合:
命令 | grep 关键词—— 从命令输出里快速查找。
4.7 综合实战:装一个网页服务器并测试
我们装个最简单的 Web 服务器nginx,感受下"装软件 + 配置 + 启动"的完整流程。
# 1. 更新软件列表 apt update # 2. 安装 nginx apt install nginx -y # 3. 启动 nginx service nginx start # 4. 测试是否启动成功(curl 是命令行浏览器) apt install curl -y curl localhost如果看到一大段 HTML 代码(包含 "Welcome to nginx"),说明服务器跑起来了!
5. 用管道看日志
cat /var/log/nginx/access.log | grep "200"查看访问日志里,哪些请求返回了成功状态码(200)。
4.8 本章核心命令速查表
| 命令 | 含义 | 举例 |
|---|---|---|
apt update | 刷新软件列表 | apt update |
apt install 软件 | 安装软件 | apt install nginx -y |
apt remove 软件 | 卸载软件 | apt remove sl -y |
命令 > 文件 | 输出覆盖写入文件 | echo "hi" > a.txt |
命令 >> 文件 | 输出追加到文件末尾 | echo "hi" >> a.txt |
命令1 | 命令2 | 把命令1输出传给命令2 | ls | grep ".txt" |
grep 关键词 文件 | 在文件中搜索 | grep "root" /etc/passwd |
wc -l | 统计行数 | ls | wc -l |
本章总结口诀
**apt 是管家,装软件全靠它,
update 刷新,install 拿下,覆盖写入,>> 追加话,
管道 | 是桥梁,命令连成串,
grep 找内容,快速不眼花。**
当前进度检查(做完这几步就算小成)
- 会用
apt装软件(sl小火车跑起来) - 会区分
>和>>的用法 - 会用
|组合命令(比如ps aux | grep) - 会用
grep搜索文件内容 - 装过
nginx并访问过
第五章(完结篇):容器管理实战 —— 从"临时体验"到"永久服务"
5.1 回顾:我们之前的方式有什么问题?
之前我们都是用这条命令启动:
docker run -it ubuntu:22.04 bash问题:
- 一旦输入
exit,容器就停止了。 - 在里面安装的软件(nginx、nano 等)全没了(除非你 commit)。
- 关掉终端窗口,容器也停了。
这一章解决:让 Linux 像真实服务器一样,在后台 24 小时运行,重启电脑后还能继续用。
5.2 核心概念:容器生命周期
| 状态 | 含义 | 类比 |
|---|---|---|
| 运行中 (Running) | 系统在后台跑着 | 电脑开机状态 |
| 已停止 (Exited) | 系统关机了 | 电脑关机了 |
| 已删除 (Removed) | 系统彻底没了 | 电脑被砸烂了 |
查看所有容器(含已停止的)
docker ps -a不加
-a只能看到运行中的。
5.3 让容器在后台运行(detach 模式)
5.3.1 后台启动一个 Linux 系统
docker run -d --name myserver ubuntu:22.04 sleep infinity命令拆解:
-d:后台运行(detach),不占用你的终端sleep infinity:让系统一直"睡觉",永远不退出(相当于保持开机)
5.3.2 进入一个已在后台运行的容器
docker exec -it myserver bash
docker exec= 进入正在运行的容器,不会导致容器停止。
进去后随便玩,输入exit退出,容器继续在后台运行。
实操验证:
# 1. 后台启动 docker run -d --name myserver ubuntu:22.04 sleep infinity # 2. 查看运行状态(状态是 Up) docker ps # 3. 进入容器 docker exec -it myserver bash # 4. 在里面装个软件(比如装 nano) apt update apt install nano -y # 5. 输入 exit 退出 # 6. 再次进入,你会发现 nano 还在 docker exec -it myserver bash nano test.txt # 能打开,说明装好的软件保存了!核心区别:
docker run -it进去退出就停;docker exec进去退出不停。
5.4 核心操作:启停和删除容器
| 操作 | 命令 | 说明 |
|---|---|---|
| 启动已停止的容器 | docker start myserver | 相当于按开机键 |
| 停止运行中的容器 | docker stop myserver | 相当于长按关机键(优雅关机) |
| 强制停止 | docker kill myserver | 相当于拔电源(粗暴) |
| 删除容器 | docker rm myserver | 彻底销毁(慎用) |
| 删除所有停止的容器 | docker container prune | 一键清理垃圾 |
实操练习:
# 1. 停止 myserver docker stop myserver # 2. 查看状态(Exited) docker ps -a | grep myserver # 3. 重新启动 docker start myserver # 4. 再次进入验证 docker exec -it myserver bash ps aux # 看到进程还在,说明 OK exit5.5 终极技能:保存你的成果为镜像(commit)
你已经装了 nginx、nano、htop 等一堆软件,想把整个系统打包带走?
docker commit myserver myubuntu:v1
myubuntu:v1是你给新镜像起的名字(v1 是版本号)。
验证新镜像:
docker images | grep myubuntu用它启动新容器(带所有已装软件):
docker run -it myubuntu:v1 bash # 进入后,输入 nginx、nano、htop,全都在!意义:以后不管在哪个电脑上,只要
docker pull你这个镜像,就能一秒还原整个环境。
5.6 终极实战:跑一个真正的 Web 服务(端口映射)
让外面的浏览器能访问到容器里的 nginx。
5.6.1 启动带端口映射的容器
docker run -d --name web -p 8080:80 myubuntu:v1参数解析:
-p 8080:80= 把容器的80端口(nginx默认)映射到电脑的8080端口- 意思:访问电脑的 8080 端口,就相当于访问容器的 80 端口
5.6.2 进入容器启动 nginx
docker exec -it web bash service nginx start exit5.6.3 打开浏览器测试
- 在地址栏输入:
http://localhost:8080 - 如果看到 "Welcome to nginx",大成功!
如果看不到:可能 nginx 没装。执行
docker exec -it web bash进去,apt install nginx -y装好再启动。
5.7 数据持久化:容器删了数据还在(数据卷)
问题:容器一旦rm删除,里面所有文件(数据库、日志)全没了。
解决:用数据卷(Volume)把容器的文件夹挂载到电脑本地。
5.7.1 创建带数据卷的容器
docker run -d --name storage -v /root/data:/app/data ubuntu:22.04 sleep infinity-v 电脑路径:容器路径= 把电脑的/root/data文件夹映射到容器的/app/data- 两边实时同步,容器删了,电脑上的文件还在。
5.7.2 验证同步
# 1. 在电脑(宿主机)上创建文件 echo "hello from host" > /root/data/host.txt # 2. 进入容器查看 docker exec -it storage bash cat /app/data/host.txt # 能看到! echo "hello from container" > /app/data/container.txt exit # 3. 在电脑上查看 cat /root/data/container.txt # 也能看到!Windows 用户注意:路径要用
C:/Users/你的用户名/data这种格式,不能用/root。
5.8 全流程终极实战:搭建一个永久在线的 Web 服务
目标:一个自带 nginx、保存数据、重启电脑也能自动恢复的 Web 服务器。
# ========== 第一步:构建镜像(一次性) ========== # 1. 启动临时容器 docker run -it --name builder ubuntu:22.04 bash # 2. 在容器内安装 nginx apt update apt install nginx -y # 3. 写个自定义首页(证明这是你的) echo "<h1>我的第一个 Docker Linux 服务器!</h1>" > /var/www/html/index.html # 4. 退出(容器自动停止) exit # 5. 保存为镜像 docker commit builder myweb:v1 # 6. 删掉临时容器(已经不需要了) docker rm builder # ========== 第二步:启动永久服务 ========== # 7. 后台运行,映射端口,挂载日志目录(方便查看) docker run -d --name webserver -p 8888:80 -v /root/web_logs:/var/log/nginx myweb:v1 sleep infinity # 8. 进入容器启动 nginx docker exec -it webserver bash service nginx start exit # 9. 浏览器访问:http://localhost:8888 # 应该看到你的自定义首页! # ========== 第三步:验证持久化 ========== # 10. 重启容器(模拟电脑重启) docker restart webserver # 11. 进入重新启动 nginx(需要重新执行启动命令) docker exec -it webserver bash service nginx start exit # 12. 浏览器刷新,内容还在!5.9 容器管理速查表(收官)
| 需求 | 命令 |
|---|---|
| 后台运行容器 | docker run -d --name 名字 镜像 sleep infinity |
| 进入运行中的容器 | docker exec -it 名字 bash |
| 查看运行中的容器 | docker ps |
| 查看所有容器 | docker ps -a |
| 启动已停止的容器 | docker start 名字 |
| 停止容器 | docker stop 名字 |
| 删除容器 | docker rm 名字 |
| 保存容器为镜像 | docker commit 名字 新镜像名:v1 |
| 端口映射 | -p 电脑端口:容器端口 |
| 数据挂载 | -v 电脑路径:容器路径 |
全教程总结(五章核心口诀)
第一章:
pull拉镜像,run进系统,exit退出,commit保存。
第二章:pwdlscd走,mkdirtouch建,cpmvrm删。
第三章:chmod改权限,nano写文件,ps看进程,kill斩乱麻。
第四章:apt装软件,>>>写文件,|串命令,grep搜关键。
第五章:-d后台跑,exec进去玩,端口-p映射,数据-v挂载,commit打包带回家。