Frequently used Docker commands on Ubuntu

Basic Docker Commands

  • docker version

    • Displays Docker version information.
    bash 复制代码
    docker version
  • docker info

    • Provides more detailed information about the Docker installation.
    bash 复制代码
    docker info
  • docker run

    • Runs a command in a new container.
    bash 复制代码
    docker run hello-world
  • docker ps

    • Lists running containers. Use -a to list all containers (running and stopped).
    bash 复制代码
    docker ps
    docker ps -a
  • docker stop

    • Stops one or more running containers.
    bash 复制代码
    docker stop <container_id_or_name>
  • docker start

    • Starts one or more stopped containers.
    bash 复制代码
    docker start <container_id_or_name>
  • docker restart

    • Restarts a running container.
    bash 复制代码
    docker restart <container_id_or_name>
  • docker rm

    • Removes one or more containers.
    bash 复制代码
    docker rm <container_id_or_name>
  • docker rmi

    • Removes one or more images.
    bash 复制代码
    docker rmi <image_id_or_name>

Image Management

  • docker images

    • Lists the Docker images available locally.
    bash 复制代码
    docker images
  • docker pull

    • Pulls an image or a repository from a registry.
    bash 复制代码
    docker pull ubuntu
  • docker build

    • Builds Docker images from a Dockerfile.
    bash 复制代码
    docker build -t myimage .

Network Management

  • docker network ls

    • Lists networks.
    bash 复制代码
    docker network ls
  • docker network create

    • Creates a new network.
    bash 复制代码
    docker network create my-network
  • docker network rm

    • Removes one or more networks.
    bash 复制代码
    docker network rm my-network

Docker Compose Commands

  • docker-compose up

    • Builds, (re)creates, starts, and attaches to containers for a service.
    bash 复制代码
    docker-compose up
  • docker-compose down

    • Stops and removes containers, networks, volumes, and images created by up.
    bash 复制代码
    docker-compose down

These commands are quite common for daily use in Docker environments and are essential for managing Docker containers and images effectively. Remember to replace placeholders (like <container_id_or_name> or <image_id_or_name>) with actual values from your Docker environment.

With GPU

When you have already created and started a Docker container with NVIDIA GPU support, using it through a terminal involves a similar process to accessing any Docker container, as described previously. The difference lies in ensuring that the container was properly set up to use the NVIDIA GPU, which involves having the appropriate NVIDIA Docker configurations.

Below are detailed steps on how to access and use your NVIDIA GPU-enabled Docker container from a terminal:

1. Verify GPU Access in the Container

Before diving into accessing the container, it's useful to first confirm that your container has access to the GPU. You can check this by running a command like nvidia-smi inside the container:

bash 复制代码
docker exec -it <container_name_or_id> nvidia-smi

This command should output information about the GPU, indicating that the container has access to it. If it does, you can proceed to interact with the container normally.

2. Accessing the Container

To access the container, you use the docker exec command to start an interactive shell session:

bash 复制代码
docker exec -it <container_name_or_id> /bin/bash

Replace <container_name_or_id> with the actual name or ID of your container. You can find this by listing all running containers with docker ps.

3. Running GPU-Accelerated Programs

Inside the container, you can execute any installed GPU-accelerated programs. For example, if you have TensorFlow installed in a container configured for GPU, you can start a Python session and import TensorFlow to verify it recognizes the GPU:

python 复制代码
import tensorflow as tf
print(tf.config.list_physical_devices('GPU'))

This Python code should list the available GPUs if TensorFlow is set up correctly to use the GPU.

4. Exiting the Container

To exit the container terminal without stopping the container, you can simply type exit or press Ctrl-D.

Example Session

Here's a quick recap of how the flow might look:

  1. List Containers (to find your specific container):

    bash 复制代码
    docker ps
  2. Check GPU Access (using nvidia-smi):

    bash 复制代码
    docker exec -it my_gpu_container nvidia-smi
  3. Access the Container:

    bash 复制代码
    docker exec -it my_gpu_container /bin/bash
  4. Run Python and Check TensorFlow GPU (inside the container):

    bash 复制代码
    python
    >>> import tensorflow as tf
    >>> print(tf.config.list_physical_devices('GPU'))
  5. Exit When Done:

    bash 复制代码
    exit

Troubleshooting

If the nvidia-smi command does not show the GPUs or if TensorFlow does not recognize the GPU, ensure that:

  • Your container was started with the --gpus all flag or similar GPU specification.
  • The NVIDIA Docker runtime is correctly installed and configured on your host system.
  • The Docker image you are using is CUDA-capable and has the necessary NVIDIA libraries.

By following these steps, you can effectively use and interact with your NVIDIA GPU-accelerated Docker container from the terminal.

相关推荐
半夜燃烧的香烟19 小时前
docker 安装minio nginx,配置nginx根据文根路由minio展示图片
java·nginx·docker
qiuziqiqi19 小时前
ocker-compose.yml 和Dockerfile 区别
运维·docker·容器
“码”力全开20 小时前
【架构深探】基于Docker与GB28181/RTSP的边缘计算AI视频管理平台:异构算力调度与源码交付实践
人工智能·docker·架构
学途路漫漫20 小时前
Ubuntu 24.04 国内网络环境全面优化指南
linux·网络·ubuntu
S-码农20 小时前
vscode 通过 SSH 远程控制 Ubuntu
vscode·ubuntu·ssh
qq75903536621 小时前
2026 docker run启动的容器通过命令导出为docker-composer.yml文件
docker·eureka·composer
dust_and_stars21 小时前
Ubuntu 24.04 使用 Snap 安装 code-server、CLion、PyCharm、JetBrains Toolbox 完整教程
ubuntu·pycharm
学途路漫漫21 小时前
Ubuntu 24.04 安装 Howdy 面部识别登录完整指南(含国内网络环境踩坑)
ubuntu
火山上的企鹅21 小时前
Codex实战:APP远程升级服务搭建(二)阿里云ECS部署Node升级服务_Ubuntu_systemd_Nginx
nginx·ubuntu·阿里云·qgc
极客先躯1 天前
高级java每日一道面试题-2026年02月03日-实战篇[Docker]-如何备份和恢复 Docker Volume?
运维·docker·容器·自动化·备份·持久化·恢复