操作场景
开发机中默认提供 Docker 客户端,适用于拉取镜像、构建镜像、运行/调试容器等日常开发场景。
支持的 Docker 命令
基础信息
docker infodocker version登录与镜像
docker logindocker imagesdocker pulldocker pushdocker tagdocker inspect容器生命周期
docker builddocker rundocker psdocker stopdocker kill调试与运维
docker logsdocker exec说明:
其他未列出的 Docker 子命令不保证完全兼容,建议优先使用上述命令集。
详细操作说明
登录镜像仓库
开发机内的 Docker 客户端可直接登录镜像仓库。
# 登录到镜像仓库docker login <registry-url> -u <username> -p <password># 示例docker login tione.tencentcloudcr.com -u ****** -p ******
拉取镜像
镜像会拉取到开发机所在机器磁盘中,请注意磁盘空间。
# 从仓库拉取镜像docker pull <image-name>:<tag># 示例docker pull tione.tencentcloudcr.com/tione-public-images/notebook-conda-cpu:ubuntu22.04-miniforge3-py38
查看镜像
可以列出本地镜像列表,查看指定镜像的详细信息。
# 列出本地镜像docker images# 查看镜像详细信息docker inspect <image-id|image-name>
构建镜像
建议使用多阶段构建减少层数和体积,构建完成的镜像可直接在开发机内运行或推送到镜像仓库。
# 使用 Dockerfile 构建镜像docker build -t <image-name>:<tag> <context-path># 示例docker build -t myapp:1.0 .
推送镜像
通过
docker tag 标记镜像目标仓库地址,使用 docker push 推送。# 标记镜像docker tag <local-image> <registry>/<repository>:<tag># 推送镜像到仓库docker push <registry>/<repository>:<tag># 示例docker tag myapp:1.0 registry.example.com/myteam/myapp:1.0docker push registry.example.com/myteam/myapp:1.0
运行容器
当前暂不支持在命令行中指定 GPU,GPU 相关配置请通过 Notebook/开发机界面选择,容器网络和挂载会受安全策略约束,详见后文限制说明。
# 运行容器docker run [options] <image-name># 可选项 -d 后台运行 -v 卷挂载 --name 指定容器名# 示例docker run -d --name myContainer tione.tencentcloudcr.com/tione-public-images/notebook-conda-cpu:ubuntu22.04-miniforge3-py38# 查看运行中的容器(-a 包含已停止的容器)docker ps
删除镜像或容器
可以删除单个镜像/容器,或通过 prune 清理未被引用的资源,释放磁盘空间。
# 删除镜像docker rmi -f <镜像ID或名称> # -f 为强制删除docker image prune -f # 删除未被引用的镜像# 删除容器docker rm -f <容器ID或名称> # -f 为强制删除docker container prune -f # 删除所有退出的容器
网络限制
强制 host 网络:所有容器都会被重写为
--network host。端口映射清理:
-p/ 端口映射,只会看后面容器端口部分。如 -p 8080:90,会忽略 8080,直接在开发机网络空间启动 90 端口。路径挂载限制
挂载黑名单前缀(只要命中即拒绝):
根及系统关键目录:
/、/etc、/usr、/var、/bin、/sbin、/lib、/dev、/proc、/run、/sys、/tmp安全限制
禁止特权与:
禁止
--privileged,发现即拒绝请求。禁止
--cap-add 任意能力。