Linux和Docker常用命令整理(持续更新)

Docker

	  a. docker pull  拉取的名称
	  b. docker pull -a 拉取的名称  => 拉取所有镜像
	  c. docker run -it 容器镜像  url路径 => 启动容器
	  d. docker ps -a 启动停止的容器
	  e. docker start 容器ID   =>启动指定容器
	  f. docker stop  容器ID  =>停止指定容器
	  g. docker restart 容器ID => 重启指定容器
	  h. docker exec 容器ID =>进入容器 退出后不会关闭容器
	  i. docker attach 容器ID => 进入容器,退出后会关闭容器
	  j. docker export => 导出容器
	  k. docker rm -f 容器ID => 删除指定容器
	  l. docker port 容器ID =>查看容器端口号
	  m. docker logs -f 容器ID => 查看容器日志
	  n. docker search 容器ID =>查找容器
	  o. docker kill -s KILL 容器ID=>杀掉容器ID
	  p. docker logs 容器ID =>把日志展示出来

镜像

  a. docker images pull  => 下载镜像
  b. docker images pull alpine:指定标签的镜像   => 下载指定标签的镜像
  c. docker images ls   =>列出存储的镜像
  d. docker images inspect 镜像名字  => 镜像细节
  e. docker images 镜像名字   => 查看指定的镜像  不加名字是查看所有
  f. docker images rm   => 删除镜像 
  g. docker images rm alpine:指定镜像  

容器

  a. docker container run 启动新容器
  b. docker container ls  列出运行状态的容器
  c. docker container exec 启动一个新进程 防止和别人冲突
  d. docker container stop  停止运行的容器
  e. docker container start  重启停止的容器
  f. docker container rm  删除的ID     删除命令
  g. docker container inspect  查看容器的详细信息

本地镜像上传到Docker Hub

	**username** 是个占位符,替换成你自己docker的username
    a. 登录docker hub:docker login --username=**username**
    b. docker打标签:docker tag 镜像REPOSITORY **username**/RepositoryDemo:v1
    c. docker镜像上传:docker push **username**/RepositoryDemo:v1

Linux

cd /指定文件夹
cd 返回最初始目录
rm -r 文件目录   如果下面有子目录,则提示你删除
rm -rf 文件名称  直接删掉文件夹包含子目录,不提示删除
ls  显示所有文件夹名称
mkdir 文件夹名称

防火墙

systemctl start firewalld  启动防火墙
systemctl stop firewalld  关闭防火墙
systemctl status firewalld  查看防火墙
firewall-cmd --reload 更新防火墙规则
firewalld-cmd  配置
firewall-cmd --version 查看版本
irewall-cmd --help  查看帮助
firewall-cmd --zone=public --list-ports  查看所有打开的端口
firewall-cmd --get-active-zones 查看区域信息
firewall-cmd --get-zone-of-interface=eth0  查看指定接口所属区域
firewall-cmd --panic-on  拒绝所有包
firewall-cmd --panic-off  取消拒绝状态
firewall-cmd --query-panic  查看是否拒绝
<think>好的,我现在需要帮助用户解决如何使用docker run命令启动Linux Docker容器的问题。用户已经提供了一些引用内容,我需要结合这些引用以及之前的对话内容来构建回答。 首先,用户之前的问题是关于docker run命令的目录映射,现在他们想了解如何启动一个Linux Docker容器。我需要确保回答结构清晰,符合用户的要求,包括示例教程。 根据引用内容,用户提到的引用[1][2]都强调了docker run是启动容器的关键命令,需要详细参数解析示例。引用[3]提到了GPU支持的命令,可能用户对特定功能也有兴趣,但当前问题集中在基本的Linux容器启动,所以可能暂时不需要涉及GPU部分,但可以作为扩展或相关问题。 用户上一次的问题中,我详细介绍了目录映射的参数示例,现在需要聚焦在如何启动Linux容器本身。可能需要涵盖基本命令结构、参数解析、步骤说明以及常见问题。 接下来,我需要整理出启动Linux容器的基本步骤。例如,选择合适的镜像(如ubuntu:22.04或centos),使用交互模式,后台运行,端口映射等。同时,结合之前的回答,可能需要提到目录映射作为可选的高级配置。 用户可能需要具体示例,比如如何启动一个交互式的Ubuntu容器,如何运行Nginx服务器并映射端口,如何后台运行容器等。此外,需要确保命令的正确性,比如使用正确的镜像标签,避免常见错误如镜像不存在或权限问题。 还需要考虑用户可能的后续问题,比如如何查看运行的容器,如何进入后台容器,如何传递环境变量等,这些可以作为相关问题列出。 最后,确保回答符合格式要求,使用中文,行内公式用$...$,独立公式用$$...$$(虽然可能不常用在这里),正确引用之前的引用内容,例如关于-v参数的说明引用[^4],以及自动创建目录的提示。同时,生成的相关问题需要覆盖用户可能感兴趣的扩展内容,如容器持久化、命令差异等。</think>### 使用 `docker run` 启动 Linux Docker 容器的完整指南 --- #### **一、基础启动方法** ##### 1. 启动交互式 Linux 容器(临时测试) ```bash docker run -it ubuntu:22.04 /bin/bash ``` - **参数解析**: - `-it`:以交互模式启动容器,分配终端(退出后容器自动停止) - `ubuntu:22.04`:指定官方 Linux 镜像及版本[^1] - `/bin/bash`:进入容器的默认 Shell ##### 2. 启动后台运行的 Linux 容器(长期服务) ```bash docker run -d --name my_linux_container ubuntu:22.04 tail -f /dev/null ``` - **参数解析**: - `-d`:后台运行(detached 模式) - `--name`:自定义容器名称(避免随机命名) - `tail -f /dev/null`:保持容器持续运行的占位命令[^2] --- #### **二、关键配置参数** | 参数 | 作用 | 示例 | |------|------|------| | `-p` | 端口映射(宿主机端口:容器端口) | `-p 8080:80` | | `-v` | 目录映射(宿主机路径:容器路径) | `-v ~/data:/app/data` | | `-e` | 设置环境变量 | `-e TZ=Asia/Shanghai` | | `--restart` | 容器重启策略 | `--restart=always` | --- #### **三、完整操作示例** ##### 场景:启动一个带目录映射端口映射的 Nginx 容器 1. **创建测试文件**: ```bash mkdir -p ~/nginx/html && echo "Hello Docker" > ~/nginx/html/index.html ``` 2. **启动容器**: ```bash docker run -d \ --name my_nginx \ -p 8080:80 \ -v ~/nginx/html:/usr/share/nginx/html \ nginx:alpine ``` 3. **验证结果**: ```bash curl http://localhost:8080 # 应输出 "Hello Docker" ``` --- #### **四、常见问题解决** 1. **镜像不存在错误**: ```bash # 先镜像再运行 docker pull centos:7 docker run -it centos:7 ``` 2. **容器自动退出**: ```bash # 添加保持运行的命令 docker run -d ubuntu:22.04 sleep infinity ``` 3. **权限问题**: ```bash # 添加 --privileged 参数(生产环境慎用) docker run -it --privileged ubuntu:22.04 ``` --- #### **五、扩展应用场景** 1. **运行特定 Linux 发行版**: ```bash docker run -it archlinux:latest # Arch Linux docker run -it debian:bullseye # Debian ``` 2. **带资源限制的启动**: ```bash docker run -it --cpus=2 --memory=512m ubuntu:22.04 ``` 3. **复制文件到容器**: ```bash docker cp local_file.txt my_container:/container/path/ ``` --- ### 相关问题 1. 如何查看正在运行的 Linux 容器列表? 2. `docker run` 与 `docker start` 有何区别? 3. 如何设置容器开机自动启动? 4. 如何进入已后台运行的 Linux 容器? 5. Docker 容器如何实现数据持久化存储? --- [^1]: 官方镜像仓库地址:https://hub.docker.com [^2]: 通过 `tail -f /dev/null` 保持容器运行是常用调试技巧
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值