DOCKER VNC

2023-05-16

reference

https://www.bilibili.com/video/av882822967/
以及泡泡机器人公众号文章

泡泡机器人创建了docker镜像,极大的提升了环境配置的效率。

docker 简介

准备

安装docker
安装vncviewer\或者使用ubuntu18.04自带的软件 remmina remote desktop client

直接应用泡泡镜像

ubuntu-xfce-vnc-ssh
ubuntu-openbox-vnc-ssh
ubuntu-ros-vnc-ssh
在 dockerhub 可以搜索的到泡泡机器人发布的镜像
在这里插入图片描述
选择不同的tages可以选择不同的镜像版本

1、 pull 镜像

docker pull paopaorobot/ubuntu/xfce-vnc

2、运行镜像的一个容器

docker run 
# 1使用最基础的功能,命令行
docker run -it paopaorobot/ubuntu-xfce-vnc
# 2使用带有nc界面的功能 -p 分配端口   -P系统自动设定端口
docker run -it -p 5900:5900 paopaorobot/ubuntu-xfce-vnc
# 如果使用-P 那么可以使用 以下查看端口
docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]
docker port priceless_sinoussl 22
# 然后打开vnc 5900端口
# 使用-e RESOLUTION=[width]x[height]设置分辨率
docker run -it -p 5900:5900 -e RESOLUTION=1920x1080 paopaorobot/ubuntu-xfce-vnc

# 3 使用带有ssh的功能
docker run -it -p 2222:22 paopaorobot/ubuntu-xfce-vnc
# 终端中会提示默认密码
# 然后另外ia打开一个终端进行ssh连接
ssh  -o 'UserKnownHostsFile=/dev/null' root@localhost -p 2222
# -o 'UserKnownHostsFile=/dev/null' 参数  使用null地址保存本地的key  即不保存,这样可以连接多个镜像 
# -e SSHPW+"密码" 参数来自定义设置ssh的密码   如 -e SSHPW=abc123  密码就是 abc123
# 上述几个功能三可以同时存在的
docker run -it -p 2222:22 -p 5900:5900 --privileged -e SSHPW=magic -e RESOLUTION=1920x1080 -v paopaorobot/ubuntu-xfce-vnc

docker run -it -p 2222:22 -p 5900:5900 --privileged  -e SSHPW=magic -e RESOLUTION=1920x1080 -v  /home/magic/WorkSpace:/root/WorkSpace paopaorobot/ros-vnc:kinetic 

#为了在容器中使用完全的root权限安装显卡驱动、cuda等 添加参数
--privileged
docker run 
# 1使用最基础的功能,命令行
docker run -it paopaorobot/ubuntu-xfce-vnc
# 2使用带有nc界面的功能 -p 分配端口   -P系统自动设定端口
docker run -it -p 5900:5900 paopaorobot/ubuntu-xfce-vnc
# 如果使用-P 那么可以使用 以下查看端口
docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]
docker port priceless_sinoussl 22
# 然后打开vnc 5900端口
# 使用-e RESOLUTION=[width]x[height]设置分辨率
docker run -it -p 5900:5900 -e RESOLUTION=1920x1080 paopaorobot/ubuntu-xfce-vnc

# 3 使用带有ssh的功能
docker run -it -p 2222:22 paopaorobot/ubuntu-xfce-vnc
# 终端中会提示默认密码
# 然后另外ia打开一个终端进行ssh连接
ssh  -o 'UserKnownHostsFile=/dev/null' root@localhost -p 2222
# -o 'UserKnownHostsFile=/dev/null' 参数  使用null地址保存本地的key  即不保存,这样可以连接多个镜像 
# -e SSHPW+"密码" 参数来自定义设置ssh的密码   如 -e SSHPW=abc123  密码就是 abc123
# 上述几个功能三可以同时存在的
docker run -it -p 2222:22 -p 5900:5900 --privileged -e SSHPW=magic -e RESOLUTION=1920x1080 -v paopaorobot/ubuntu-xfce-vnc

docker run -it -p 2222:22 -p 5900:5900 --privileged  -e SSHPW=magic -e RESOLUTION=1920x1080 -v  /home/magic/WorkSpace:/root/WorkSpace paopaorobot/ros-vnc:kinetic 

#为了在容器中使用完全的root权限安装显卡驱动、cuda等 添加参数
--privileged
--runtime=nvidia # 设置nvidia docker runtime
docker run -it -p 2222:22 -p 5900:5900 --runtime=nvidia --privileged  -e SSHPW=magic -e RESOLUTION=1920x1080 -v  /home/magic/WorkSpace:/root/WorkSpace paopaorobot/ros-vnc:kinetic 

3、远程开发

第一种方法:使用vscode 及 remote 插件
安装插件
运行docker

# -v 参数挂载本地文件到容器内
docker run -it -p 5900:5900 -v /home/pathtocode:/root/datapath paopaorobot/ubuntu-xfce-vnc 

第二种方法:使用scode及ssh

4、 使用dockerfile构建镜像

# FROM 表示基于哪个镜像来制作
# ENV
# COPY 拷贝代码进docker 镜像
# RUN 
# WORKDIR
# ADD
# EXPOSE 
# ENTRYPOINT 

5、导出导入镜像文件

commit 从容器更新/创建镜像
官方文档:https://docs.docker.com/engine/reference/commandline/commit/
在这里插入图片描述

docker commit -a "YYYY" -m "orbslam2 with point cloud " 9cc5d0201dfe ros-vnc-slam:v1.1

save/load 包含镜像历史信息

docker save [options] images [images...]
docker save -o nginx.tar nginx:latest

docker load [options]
docker load -i nginx.tar

export/import 从容器(container)中导出tar文件不包含镜像历史信息



docker export [options] container
docker export -o nginx-test.tar nginx-test
//其中-o表示输出到文件,nginx-test.tar为目标文件,nginx-test是源容器名(name)

docker import [options] file|URL|- [REPOSITORY[:TAG]]
docker import nginx-test.tar nginx:imp

清理docker临时文件

清理空间

docker image prune
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DOCKER VNC 的相关文章

随机推荐

  • 记录使用gitlab实现Docker自动化部署

    目录 前言 一 gitlab runner docker安装 二 gitlab runner的注册与使用 1 注册 2 gitlab ci yml 脚本编写 总结 前言 前面搭建了gitlab与harbor xff0c 现在就使用它们来实现
  • ros::ok()

    ros ok 在以下几种情况下会返回false xff1a 按下Ctrl C时 我们被一个同名同姓的节点从网络中踢出 ros shutdown 被应用程序的另一部分调用 所有的ros NodeHandles都被销毁了 一旦ros ok 返回
  • 小觅深度相机标准版 ROS使用

    只写运行起来 xff0c 具体实例运行方法在对应的实例中 系统 xff1a ubuntu16 04 1 安装SDK 下载SDK驱动并解压 xff1a https github com slightech MYNT EYE S SDK 看RE
  • 移动机器人(四)四轴飞行器

    四轴飞行控制原理 四轴飞行器在空间上有6个自由度 xff0c 分别是沿3个坐标轴进行平动和转动 xff0c 通过对四个旋翼的转速控制来实现 xff0c 6个自由度方向的运动姿态分别为 xff1a 垂直升降 俯仰角度 前后飞行 横滚角度 左右
  • (二) 使用vscode

    1 在拉代码过程中 xff0c 使用代码对比工具 左侧有个分支工具 xff0c 点击左侧栏中某个文件 xff0c 右侧出现两栏 以102行为例 xff0c 红色部分为代码改动之前显示 xff0c 右侧绿色部分为代码改动之后显示 2 文件工具
  • 30个实用VSCode 插件,让你的开发效率倍增!

    1 Image preview 通过此插件 xff0c 当鼠标悬浮在图片的链接上时 xff0c 可以实时预览该图片 xff0c 除此之外 xff0c 还可以看到图片的大小和分辨率 2 Auto Rename Tag 使用该插件 xff0c
  • OpenCV 4.5.0+conrtrib 已编译完成(附下载链接)

    OpenCV 4 5 0 43 conrtrib 已编译完成 xff0c 包含编译源码 平台 Windows 43 VS2015 百度网盘链接 提取密码 xff1a rdgh 源码下载 OpenCV源码下载链接推荐 xff08 包含匹配的c
  • 第一篇综述-无人车简介

    综述 无人车简介 xff08 1 xff09 1 1无人车的定义以及分级 1 2无人车的发展历程 参考链接 原文链接 xff1a https blog csdn net thomashtq article details 81161018
  • 在C#中使用Intptr究竟需不需要释放?

    只有是用Marshal 申请的 xff08 AllocHGlobal xff09 这种需要释放 xff1b 对于使用PInvoke 返回的IntPtr不用释放 xff1b 简单来说 xff0c 这个东西是你创建出来的你就得负责回收 xff0
  • .NET中Invoke和BeginInvoke

    在 NET中 xff0c 固定必须主线程才能操作UI界面 xff0c 如果在非主线程中强行对UI界面赋值 xff0c 则会报错 xff0c 跨线程操作UI 是不允许的 xff0c 需要使用Invoke或BeginInvoke xff0c 关
  • php 跨域解决方案

    设置允许访问的域名 xff1a 1 允许全部的域名访问 span class token function header span span class token punctuation span span class token str
  • WPF之转换器

    WPF是一个数据驱动模式 xff0c 开发中都是以数据为中心 xff0c WPF具有数据绑定机制 xff0c 数据有变化时 xff0c 会通知UI进行更新 WPF用的是MVVM模式 MVVM是Model View ViewModel xff
  • CS程序自动更新和手动更新的技术实现

    1 程序启动时检查更新 xff0c 如果可以更新 xff0c 则判断是否为强制性更新 xff0c 如果是则直接强制更新 xff0c 不是则不处理 xff0c 转为到程序更新模块中手动处理 xff0c 这是更新最基本的原理 检查更新 priv
  • 用MATLAB将矩阵数据写入txt文件中,打开乱码原因

    MATLAB将数据写入txt文件中乱码的原因 xff0c 是将数据按照二进制文件写入txt文件 xff0c 所以打开会出现乱码的情况 xff0c 只需要把 fid1 61 fopen 39 piture txt 39 39 w 39 换成
  • boost C++知识点(一)

    1 boost总览 xff1a Boost Any Boost Any 提供了一个名为 boost any 的数据类型 xff0c 可以存放任意的类型 例如 xff0c 一个类型为 boost any 的变量可以先存放一个 int 类型的值
  • python 函数里面直接修改函数外部的全局变量

    python函数内部对全局变量进行修改 全局变量为immutable 不可变的 全局变量为mutable 可变的 全局变量为immutable 不可变的 a span class token operator 61 span span cl
  • ubuntu20.04中安装ROS系统

    自从在自己的电脑上安装了ubuntu20 04 43 window10双系统之后 xff0c 为了下一步开展研究 xff0c 所以安装ROS系统 把安装过程记录下来 xff0c 方便以后学习 亲测有效 xff01 xff01 xff01 x
  • Linux编程的第三方库引用------gcc、pkg-config与CMake一文讲解

    众所周知 linux 下库文件编译三部曲 config make makeinstall configure过程中可能会遇到无法找到某些头文件和动态库 xff1b 原因有两个 xff1a xff08 1 xff09 系统没有这些头文件和动态
  • 论文阅读 Global Localization with Object-Level Semantics and Topology

    摘要 全局定位是SLAM的核心要素 基于外观的方法虽然很成功 xff0c 但是在视觉条件随时间变化很大的环境中仍然面临许多开放的挑战 xff0c 随着时间的变化 xff0c 外观会发生巨大的变化 在本文中 xff0c 我们提出了一种集成解决
  • DOCKER VNC

    reference https www bilibili com video av882822967 以及泡泡机器人公众号文章 泡泡机器人创建了docker镜像 xff0c 极大的提升了环境配置的效率 docker 简介 准备 安装dock