Dockerfile 编写
容器是临时的,删了数据就没了。数据卷(volume)把数据存到宿主机,容器删了数据还在;网络让容器之间通信。
数据卷
docker run -v 宿主机目录:容器目录 挂载。MySQL 数据、Nginx 配置、上传文件都该挂载出来。
网络
默认 bridge 网络容器间可用容器名通信。docker network create 自定义网络,跑容器时 --network 指定,容器名即域名。
代码示例
# 数据卷挂载
docker run -d
--name mysql
-p 3306:3306
-v /data/mysql:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=secret
mysql:8
# 自定义网络
docker network create mynet
# 容器加入同一网络,用名字互通
docker run -d --network mynet --name nginx nginx
docker run -d --network mynet --name php php:8-fpm
# nginx 容器里可以直接 curl http://php:9000 访问
📚 Shell 命令速查
常用条目速查,完整版见对应教程章节。可复制代码到在线运行中测试。
| 写法 / 语法 | 作用 |
|---|---|
ls / ls -la | 列出文件(-la 显示隐藏和详情) |
cd 目录 | 切换目录 |
pwd | 显示当前目录 |
mkdir -p 目录 | 创建目录(-p 自动建父级) |
touch 文件 | 创建空文件 |
cp -r 源 目标 | 复制(-r 递归复制目录) |
mv 源 目标 | 移动 / 重命名 |
rm -rf 目录 | 删除(危险,慎用) |
cat 文件 | 查看文件内容 |
less 文件 | 分页查看文件(q 退出) |
grep "关键词" 文件 | 按关键词搜索 |
find . -name "*.php" | 按名称查找文件 |
chmod 755 文件 | 修改权限 |
ps aux | 查看进程 |
kill 进程号 | 结束进程 |
top | 实时资源监控 |
df -h / free -m | 磁盘 / 内存占用 |
tar -czf a.tar.gz 目录 | 打包压缩 |
tar -xzf a.tar.gz | 解压 |
curl 网址 | 请求网址(测试接口) |
wget 网址 | 下载文件 |
ssh 用户@主机 | 远程登录 |
scp 文件 用户@主机:/路径 | 远程传文件 |
sudo 命令 | 以管理员执行 |
crontab -e | 编辑定时任务 |