linux常用命令(二)
Linux 常用命令(Docker / Git )
本手册用于记录比常用命令更深入的内容,包括:
- Docker 深度使用(镜像、容器、网络、存储、Dockerfile、Compose)
- Git 高级命令(rebase、stash、submodule)
目录
Docker
一、Docker 基础常用命令
1. 查看运行与全部容器
docker ps # 查看正在运行的容器
docker ps -a # 查看所有容器(包含已停止)
2. 查看镜像
docker images
3. 拉取镜像
docker pull nginx:latest
4. 运行容器
常用参数:
-d:后台运行-p:端口映射(宿主:容器)--name:容器名称
示例:
docker run -d -p 8080:80 --name web nginx
5. 进入容器
docker exec -it web bash
6. 启停容器
docker stop web
docker start web
docker restart web
7. 查看容器日志
docker logs -f web
8. 删除容器与镜像
docker rm web
docker rmi nginx:latest
9. docker-compose 基本使用
docker-compose up -d
docker-compose down
二、Docker 深度使用
1. Dockerfile 基础语法
FROM nginx:latest
COPY ./html /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
关键指令:
FROM:基础镜像COPY:复制文件RUN:执行命令EXPOSE:声明端口CMD:容器启动时执行命令
2. 构建镜像
docker build -t my-nginx .
3. Docker 网络
查看网络:
docker network ls
创建自定义网络:
docker network create mynet
容器加入网络:
docker run -d --network=mynet --name web nginx
4. Docker 数据卷(Volumn)
创建数据卷:
docker volume create mydata
挂载到容器:
docker run -d -v mydata:/var/lib/mysql mysql
5. docker-compose 深度模板
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: 123456
volumes:
- dbdata:/var/lib/mysql
volumes:
dbdata:
Git 命令
一、Git 基础命令
1. 配置用户
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
2. 初始化与克隆
git init
git clone https://github.com/user/repo.git
3. 常用基本操作
git add .
git commit -m "message"
git status
git log --oneline --graph
4. 分支管理
git branch
git branch dev
git switch dev
5. 合并
git merge dev
6. 远程仓库
git remote add origin https://github.com/user/repo.git
git push -u origin main
git pull origin main
二、Git 高级命令
1. Git rebase(变基)
将分支整理成更干净的提交历史:
git switch dev
git rebase main
交互式 rebase:
git rebase -i HEAD~5
常用于:
- 合并多个 commit
- 修改历史 commit
2. Git stash(暂存工作区)
保存当前未提交的修改:
git stash
查看所有 stash:
git stash list
恢复:
git stash pop
3. Git submodule(子模块)
添加子模块:
git submodule add https://github.com/user/lib.git libs/lib
初始化并更新子模块:
git submodule update --init --recursive
4. Git cherry-pick(挑选特定提交)
git cherry-pick COMMIT_ID
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果