docker命令行方法

本文深入解析Docker命令行使用方法,包括运行、停止、启动、删除容器及管理镜像的基本指令,助您快速上手Docker容器化技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker的命令行十分简单,用法如下:

# Usage:  [sudo] docker [command] [flags] [arguments] ..

# Example:

$ sudo docker run -i -t ubuntu /bin/bash


docker run:运行某个container

docker stop:关闭某个container

docker start:重新启动某个container

docker rm:删除某个container

docker ps:列出正在运行的container

docker logs:显示container的标准输出

docker stop:关闭正在运行的container

docker port:查看container端口到主机的映射

docker top:查看container内部的进程

docker inspect:以JSON hash模式输出的状态的配置

docker images:列出当前的image

docker pull:从docker hub下载image

docker search:从docker hub搜索image

docker rmi:删除image

下次继续学习user guide->Working with Docker Images.

### Docker 命令行使用指南及常见问题解决方案 以下是关于 Docker 命令行的使用方法以及一些常见问题的解决方案,涵盖从基础命令到高级操作。 #### 1. Docker 基础命令 以下是一些常用的 Docker 命令: - **列出所有容器**(包括停止的容器): ```bash docker ps -a ``` - **启动一个容器**: ```bash docker start <容器ID或名称> ``` - **停止一个运行中的容器**: ```bash docker stop <容器ID或名称> ``` - **删除一个容器**: ```bash docker rm <容器ID或名称> ``` - **运行一个新的容器**(以交互模式运行 Ubuntu 容器为例)[^3]: ```bash docker run -it ubuntu /bin/bash ``` - **查看所有镜像**: ```bash docker images ``` - **删除一个镜像**: ```bash docker rmi <镜像ID> ``` #### 2. Docker 容器的端口映射与网络配置 为了使容器能够访问外部网络或让外部访问容器,可以使用 `-p` 参数进行端口映射。例如,将主机的 8080 端口映射到容器的 80 端口: ```bash docker run -d -p 8080:80 nginx ``` 若需要检查端口映射情况,可以使用以下命令: ```bash docker port <容器ID或名称> ``` #### 3. Docker 容器的自动重启配置 为了确保容器在系统重启后能够自动启动,可以设置容器的自动重启策略[^3]: ```bash docker update <容器ID或名称> --restart=always ``` #### 4. Docker GPU 支持 如果需要在容器中使用 GPU 资源,可以使用 `nvidia-container-runtime` 运行时。例如,运行一个支持 CUDA 的容器并执行 `nvidia-smi` 命令: ```bash docker run --runtime=nvidia -it --rm nvidia/cuda:11.0-base nvidia-smi ``` #### 5. Docker 日志查看 查看容器的日志输出可以帮助诊断问题: ```bash docker logs <容器ID或名称> ``` #### 6. 常见问题及解决方案 - **问题:Docker 容器无法启动** - 检查容器日志以获取更多信息: ```bash docker logs <容器ID或名称> ``` - 确保镜像正确拉取且没有依赖缺失。 - **问题:端口冲突** - 如果遇到端口冲突错误,可以更改端口映射或释放占用端口。例如,使用以下命令查找占用端口的进程: ```bash netstat -nlpt | grep <端口号> ``` - **问题:容器无法访问宿主机网络** - 确保容器的网络模式配置正确。例如,使用 `--network=host` 参数可以让容器共享宿主机的网络堆栈: ```bash docker run --network=host <镜像名> ``` #### 7. Docker Arthas 实战 对于需要调试 Java 应用的场景,可以使用 Arthas 工具[^5]。例如,在容器中安装并启动 Arthas: ```bash docker exec -it <容器ID或名称> bash apt-get update && apt-get install -y wget wget https://alibaba.github.io/arthas/bin/arthas-boot.jar java -jar arthas-boot.jar ``` ### 示例代码 以下是一个简单的 Python 应用打包为 Docker 镜像的示例: ```dockerfile # 使用官方 Python 基础镜像 FROM python:3.9-slim # 设置工作目录 WORKDIR /app # 复制当前目录下的文件到容器的工作目录 COPY . . # 安装依赖 RUN pip install -r requirements.txt # 暴露端口 EXPOSE 5000 # 启动应用 CMD ["python", "app.py"] ``` 构建镜像并运行容器: ```bash docker build -t my-python-app . docker run -d -p 5000:5000 my-python-app ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值