docker使用笔记

一、关键词

镜像服务、镜像、容器

二、阿里云容器镜像服务

免费服务,相当于一个远程镜像仓库(类似git仓库),可以方便的在不同机器上同步镜像。

  • 命名空间:发布者的用户名
  • 仓库名称:一般与docker镜像名称一致,一个仓库只保存一个镜像tag(可以有不同的版本)

新建仓库后,会有同步方法的命令提示。

三、食用姿势

3.0 镜像构建

  1. DockerFile
    这种方式,每一条命令就是一个Layer, 具有较好的修改移植性,但构建略麻烦
  2. 直接docker run -it [img] bash, 进入镜像操作环境搭建,之后exit,使用docker commit [cid] [tag]提交新的镜像

3.1 使镜像在后台保持运行

  1. 使用参数-dit,配合bash
    docker run -dit -p 1022:22 cpp-server:1.0 bash
    上面的端口映射22是容器内部端口,1022是映射到主机的端口。参数中的-d表示后台运行,如果不加这个参数就会自动进入docker的交互终端,exit会导致容器停止,需要使用docker start重新进入运行。

3.2 运行容器后,直接执行复杂的命令

  1. 命令参数使用sh -c [script]
    docker run -it -p 5022:22 pytorch:1.7 sh -c "service ssh start && bash"
### 如何在Docker容器中访问和使用笔记本电脑内置摄像头 为了使Docker容器能够访问主机上的硬件设备,比如笔记本电脑的内置摄像头,通常需要确保几个方面配置正确。这不仅涉及到了解如何启动具有适当权限的容器,还涉及到宿主机上必要的驱动程序和支持。 #### 启动带有USB支持的Docker容器 为了让Docker容器可以访问外部设备如摄像头,在创建或运行容器时需指定`--privileged=true`选项来赋予更高的权限[^3]。然而更推荐的做法是指定具体的设备而不是给予整个特权模式: ```bash docker run -it --device=/dev/video0:/dev/video0 ubuntu bash ``` 这条命令中的`/dev/video0`代表的是Linux系统下第一个检测到的视频捕捉设备(即摄像头)。如果不确定具体路径可以在宿主机执行`v4l2-ctl --list-devices`查看所有可用视频设备及其对应的节点名称。 对于某些情况可能还需要安装额外软件包以便于操作这些多媒体资源,例如FFmpeg用于处理音视频流数据或是VLC player作为播放工具等。 #### 配置Docker守护进程以允许USB设备传递 有时即使指定了特定设备文件也未必能成功获取图像帧序列,这时就需要进一步调整Docker Daemon配置使其接受来自USB接口的数据传输请求。编辑位于/etc/docker/daemon.json内的JSON对象加入如下字段: ```json { "default-ulimits": { "nofile": {"Name":"nofile","Hard":65535,"Soft":65535} }, "features": {"apparmor":false}, "insecure-registries":["localhost:5000"] } ``` 请注意上述设置可能会降低安全性因此仅建议开发测试环境中应用;生产环境应谨慎评估风险后再做决定。 另外值得注意的一点是在Windows或者macOS平台上由于架构差异实现方式会有所不同,这里主要讨论基于Linux系统的方案。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值