Docker deepstream

改变自己,适应环境,顺势而为,这跟老天,跟他人又有什么关系呢?
docker上不去网,配置和host一样的DNS,vim /etc/resolv.conf ,systemctl restart docker

docker exec -it 容器-id /bin/bash
Ubuntu install docker

image导出导入
导出容器:
docker commit 9115621ada47 deepstream:1.0
docker save -o deepstream_docker1.tar deepstream:1.0
sudo docker load --input deepstream_docker1.tar
如果传输不完整,可能是机器没有足够的空间了,清理一下

docker 文件从宿主机到容器
docker cp /root/init.sh CS5_AS_EALL1:/home/hundsun/workspace/log
修改docker默认路径

xhost +
docker run --gpus all -it --rm --net=host -e DISPLAY=$DISPLAY -w /root 你镜像的id或者名字    
-w就是打开你镜像里面的目录
加上--rm这个容器就被删除了

in docker if this problem:error while loading shared libraries: libcudart.so.10.0
https://www.cnblogs.com/carle-09/p/12377492.html     same work in docker

修改保存镜像:remember must exec container,then exit,commit. not run image,exit,commit
或者docker run… docker ps -a docker commit 容器名 docker start 容器名 docker exec -it 容器名 /bin/bash

docker run;创建和启动一个新的容器实例,操作对象是镜像,选项较多,如果你要创建和启动一个容器,只能用run;
docker exec: 在已运行的容器中,执行命令,操作对象是容器,如果你要进入已运行的容器,并且执行命令,用exec;
docker attach: 同样操作的是已运行的容器,可以将本机标准输入(键盘输入)输到容器中,也可以将容器的输出显示在本机的屏幕上,如果你想查看容器运行过程中产生的标准输入输出,用attach;

1、说明文档英文
比喻:镜像:exe, 容器:进程, Docker 系统平台
运行:docker run image-name或者ID
删除:docker rmi image-name/ID
显示所有容器(包括已经停止的):docker ps -a
运行中:docker ps
docker start/stop/restart 容器ID
一个容器即使已经退出,仍然会存在,可以使用docker ps -a命令查看。命令docker rm删除容器。
docker kill命令用于杀死正在运行的Docker容器。
docker pause命令用于暂停正在运行的Docker容器。
docker unpause命令用于启动暂停的Docker容器。
docker stop命令用于退出正在运行的Docker容器。

Dockerfile
1、FROM,是以哪个镜像为基础创造新镜像
2、ENV指令设置容器中的环境变量
3、COPY指令向镜像添加目录、文件等
4、CMD指令设置容器运行时的默认命令
5、WORKDIR指令为Dockerfile中的任何RUN、CMD和COPY指令设置工作目录

英文docker说明文档
中文说明文档
救星大说明针对的是dGPU平台的,如果你是jetson,看下面

jetson,Docker

作者:k8seasy
链接:https://www.zhihu.com/question/384345807/answer/1164155598
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

还是从最简单的说人话来解释docker 的好处。假设 我有一台主机 linux把, 我会用yum config make make install安装各种软件,牛逼极了, 我为什么要docker?那么我们来看看 这种例子, 一天 老板说 小张来装一个mysql 5.2 ,公司的论坛要用,版本要低,简单 yum install 搞定。 一切都很简单。 这时候 新技术老李说 我还要装一个mysql 5.7 记住,要5.7 因为我里面用了新特性。… 装不了? 机器是32核 128G内存的。难道一个服务器只能装一个mysql 版本?这时候 开发部说要装php 5.7, 测试说需要跑一个php 6.0 这2个用yum 来装 冲突不断啊,你发现了吗? 版本冲突! 这是你需要解决的核心。 不同的版本, 比如一个php版本 可能有好几个版本,每个版本都需要安装一个不同glibc, mysqlclient, 不同的so . 大家相互冲突。docker 就是解决这个问题的, 你平时lib 文件放在那里? /var/lib/… 这些地方吧, 这就导致了相互冲突,而且因为ldconfig 的原因,其实你放在那里都可能冲突。所以 docker 的核心能力只有1个,隔离,它把一个环境所有需要的lib 都放在它的镜像里, 这个镜像是 php 5.7 这个镜像是7.0, 那个镜像是3.0 他们之间谁也看不见别人。同时它让所有镜像认为系统里只有自己一个,这样就再也没冲突了,这也就是所谓的虚拟化。

猜你喜欢

转载自blog.csdn.net/qq_41834780/article/details/110422950