首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
DevOps与敏捷开发
›
Docker容器使用手册
返回列表
发新帖
Docker容器使用手册
[复制链接]
发表于 2025-6-26 09:59:05
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
Docker是一种轻量级、可移植、自给自足的软件运行环境,用于打包和运行应用步调。它答应开发者将应用及其所有依靠打包成一个镜像(Image),然后基于这个镜像创建出
容器
(Container)来运行。与假造机相比不需要完整操作系统,启动快,占用资源小,同时可以跨平台部署,
容器
内运行环境固定,
容器
之间相干隔离。
1. Docker安装
在ubuntu下安装docker的流程如下:
sudo apt update
sudo apt upgrade -y
sudo apt install apt-transport-https ca-certificates curl software-properties-common #安装依赖项
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - #添加 Docker 的官方 GPG 密钥
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" #添加 Docker 的官方
APT
仓库
sudo apt update
sudo apt install docker-ce #安装 Docker
sudo apt install -y nvidia-docker2 #支持GPU
sudo systemctl start docker # 启动 Docker 服务
sudo systemctl enable docker # 开机启动 Docker 服务
sudo systemctl status docker #检查 Docker 是否正常运行
sudo docker --version
sudo docker run hello-world
sudo usermod -aG docker $USER #将当前用户添加到 Docker 组
newgrp docker #当前会话立即生效
复制
代码
2. Docker的操作下令
2.1 镜像image操作
docker images:查察所有镜像
docker rmi ubuntu:20.04:删除镜像
docker tag <原镜像>:<原标签> <新镜像>:<新标签>:docker tag ubuntu:20.04 myubuntu:v1,根据已有镜像生成新镜像
docker commit <容器ID或名称> <新镜像>:<标签>:根据正在运行的容器生存为新镜像
docker build -t ubuntu2004-gpu:1.0 . :根据 Dockerfile 构建新的镜像,.表示当前目次,Dockerfile应该放在当前目标,构建时会把当前目次作为“构建上下文”传给 Docker 引擎。
docker save -o my_image.tar my_image:tag //打包镜像到文件
docker load -i my_image.tar //load打包好的镜像
# 基础镜像:Ubuntu 20.04 + CUDA 11.8 + cuDNN(NVIDIA 官方)
FROM nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu20.04
# 防止 tzdata 卡住
ENV DE
BI
AN_FRONTEND=noninteractive
# 安装系统依赖和 Python
RUN apt-get update && \
apt-get install -y --no-install-recommends \
python3 python3-pip python3-dev python3-setuptools \
build-essential curl git vim wget ca-certificates && \
rm -rf /var/lib/apt/lists/*
# 创建工作目录
WORKDIR /workspace
# 可选:复制项目
代码
(你可以根据需要调整)
# COPY . .
# 安装 Python 包(如果有 requirements.txt)
# COPY requirements.txt .
# RUN pip3 install --no-cache-dir -r requirements.txt
# 设置默认命令
CMD [ "bash" ]
复制
代码
2.2. 容器
docker create --name my_container ubuntu bash //只创建容器不启动
docker run --gpus all -it --name my_container my_image bash //创建容器并启动
docker start -ai my_container //启动已停止的容器
docker exec -it my_container bash //在启动的容器内实行使命
docker rm my_container //删除容器
docker restart my_container //重启容器
docker stop my_container //停止容器
docker ps //查察所有激活的容器
docker ps -a //查察所有的容器
docker run --gpus all -it \
--name streampetr \
--shm-size=16g \
-v ~/docker_program:/home/program \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nvidia/cuda:11.3.1-cudnn8-runtime-ubuntu20.04 bash //创建并启动容器,包罗支持GPU,将宿主目次映射到容器内
docker cp /home/wangyl/data my_container:/data //复制宿
主数据
到容器内
一旦容器创建就没有办法再重新映射文件夹,如果容器内代码使用宿主内的数据文件夹而且没有映射,可以在数据文件夹挂载到已经映射的文件夹下,软链接的方式无法找到文件,挂在后需要重启容器,否则也无法找到文件。
sudo mount --bind /home/wyl/datasets/nuscense_simple /home/wyl/program/StreamPETR/data/nuscene
如果翻墙和宿主共享DNS,docker内实行:
echo "nameserver 8.8.8.8" > /etc/resolv.conf
3. VNC操作指令
vncserver -list //展示所有的vnc会话
ssh -i aigc_key.pem -L 5901:localhost:5901
[email protected]
如果vnc使用端口被阻止,通过ssh创建隧道将远端5901端口映射到当地端口,然后通过当地端口使用
vncserver :1: 打开一个VNC会话
vncserver -kill :2 :关闭一个VNC会话
回复
使用道具
举报
返回列表
浏览过的版块
Java
数据仓库与分析
云原生
Oracle
物联网
SAAS
前端开发
SQL-Server
运维.售后
圆咕噜咕噜
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表