Docker 常用操作命令与 GPU 容器运行随记

Docker 常用操作命令与 GPU 容器运行随记


这篇文章整理了在 Docker 环境下常用的操作命令,并附加了一些关于 GPU 容器运行的随记。内容涵盖了从镜像管理、容器操作到网络配置、系统资源监控的方方面面,还包括了如何查看 Docker 环境的信息以及日志管理等操作。此外,文章还介绍了在 Docker 中启动 GPU 容器的步骤,以及运行 Jupyter 笔记本服务的详细命令。无论是新手还是有经验的用户,都能从中找到有用的操作指南和参考信息,提升 Docker 使用效率。

一 查看本机的镜像

# 查看本机的镜像
docker images

二 下载镜像

# 下载镜像
docker pull openjdk:8-jdk-alpine

# 下载指定平台镜像
docker pull --platform linux/arm64 openjdk:8-jdk-alpine

三 搜索镜像

# 搜索镜像
docker search jdk8

四 查看运行的容器

# 运行的容器
docker ps
docker container ls
docker container ls -a
docker ps -a 

五 重启容器

# 重启一个或多个容器
docker container restart id号
docker container restart cc58a2c5f837

六 清理容器

# 清理掉所有处于终止状态的容器
docker container prune

七 查看网络

# 清理掉所有处于终止状态的容器
docker network ls

八 创建网络

# 创建网络
docker network create --driver bridge yournet

九 删除网络

# 删除网络
docker network rm 网络名字/Id号

十 查看数据挂载

# 查看数据表等
docker volume ls

十一 删除镜像和容器

# 删除镜像
docker rmi 镜像名字/Id号

# 删除容器
docker rm 容器名字/容器id

十二 运行容器

# 启动并运行容器,结果:会打印出容器的id号
docker run 
\ -p 6379:6379 
\ --name redis 
\ -v ./redis/redis.conf:/etc/redis/redis.conf 
\ -v ./redis/data:/data 
\ -d redis redis-server /etc/redis/redis.conf 

    
# 停止容器
docker stop 容器名字/id号

# 启动容器,id号只要能够区分即可无需写全部
docker start 容器id/名字 

# 进入容器
docker exec -it 容器id /bin/bash
docker exec -it 12427 /bin/bash
docker exec -it cbbebad44c59 /bin/sh

十三 容器文件 copy

# 文件拷贝
# 从宿主机拷贝到容器内部
docker cp 宿主机文件 容器id:容器路径
docker cp /home/a.txt 12427:/home

# 从容器中拷贝到宿主机
docker cp 容器id:容器路径 宿主机路径(起别名)
docker cp 427:home/a.txt a.txt

十四 容器使用的系统资源

# docker stats 命令用来显示容器使用的系统资源
docker stats
# [CONTAINER]:以短格式显示容器的 ID。
# [CPU %]:CPU 的使用情况。
# [MEM USAGE / LIMIT]:当前使用的内存和最大可以使用的内存。
# [MEM %]:以百分比的形式显示内存使用情况。
# [NET I/O]:网络 I/O 数据。
# [BLOCK I/O]:磁盘 I/O 数据。
# [PIDS]:PID 号。

# 如果不想持续的监控容器使用资源的情况
docker stats --no-stream
# 只想查看个别容器的资源使用情况
docker stats --no-stream registry 1493
# docker stats --no-stream  容器名称/ID 容器名称/ID ...
# docker容器直接退出,如何进入容器调试 
docker run --name upcontainer -it --entrypoint /bin/bash test:cmd 

十五 查看信息

# 查看主机的架构
arch

# 确定其架构
docker image inspect openjdk | grep Architecture

# 查看概要信息
docker info

# 查看机器上正在运行的容器
docker ps

# docker的版本
docker version

# 查看宿主机上所有的容器(包括停止的)
docker ps -a

# 获取容器/镜像的元数据
docker inspect 容器id

# 只查看容器ip地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称/容器ID

# 查看日志
docker logs yourcontainer 
# 例如:sudo docker logs cbbebad44c5 

# 实时查看docker容器日志
docker logs -f -t --tail 行数 容器名
# 例如: sudo docker logs -f -t --tail 50 cbbebad44c5
tail -f -n 100 xxx.log

# 显示容器使用的系统资源
docker stats 

# 查看每个容器占用的磁盘空间呢
docker system df -v

十六 启动 GPU 容器

这是尝试运行 GPU 容器的随记

# 运行镜像tensorflow/tensorflow
docker run --name testgpu01 -it --entrypoint /bin/bash tensorflow/tensorflow:latest-gpu 

# 运行容器 
$ docker run -it --rm tensorflow/tensorflow bash

#使用 Python 解释器启动 GPU 容器。
$ docker run -it --rm --runtime=nvidia tensorflow/tensorflow:latest-gpu python

这是一段 python 的测试脚本

# import tensorflow as tf;tf.test.gpu_device_name()
import tensorflow as tf;tf.__version__;tf.__path__

import tensorflow as tf;
physical_devices = tf.config.experimental.list_physical_devices('GPU')
if len(physical_devices) > 0:
    print("We got a GPU")
    tf.config.experimental.set_memory_growth(physical_devices[0], True)
else:
    print("Sorry, no GPU for you...")

运行 Jupyter 笔记本服务

$ docker run -it --rm -v $(realpath ~/notebooks):/tf/notebooks -p 8888:8888 tensorflow/tensorflow:latest-jupyter
使用您自己的笔记本目录(此处假设为~/notebooks)运行 Jupyter 笔记本服务器。要使用它,请localhost:8888在浏览器中导航到。
  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值