当前位置: 首页 > news >正文

武汉市人民政府网站查询关键词

武汉市人民政府网站,查询关键词,专业的集团网站设计网络,用什么工具可以创建网页1.安装docker 安装docker:官网教程,按照官网命令一步步来即可。 添加当前用户到docker用户组: 【docker】添加用户到docker组,这样后面运行docker的时候前面不需要加sudo命令,否则运行docker的时候一直需要在前面加su…

1.安装docker

  • 安装docker:官网教程,按照官网命令一步步来即可。

  • 添加当前用户到docker用户组: 【docker】添加用户到docker组,这样后面运行docker的时候前面不需要加sudo命令,否则运行docker的时候一直需要在前面加sudo,即sudo docker xxx

2.docker基础命令

  • 首先区分镜像(images)和容器(containers):他们的关系与类和对象的关系比较相似——镜像就是类,容器就是类生成的对象。最终我们都是在容器中进行操作,所以首先要使用镜像生成容器,然后容器就相当于一个新的环境, 可以在里面进行一系列操作。而镜像则一般都需要自己制作,或者从 docker hub 网站上拉取。

  • 查看当前有哪些镜像:

docker images
  • 删除某个镜像:
docker rmi IMAGE_ID
  • 查看正在运行的容器:
docker ps
  • 查看所有的容器(包括正在运行的和没有运行的):
docker ps -all
  • 暂停正在运行的容器:
docker stop CONTAINER_ID
  • 删除某个容器:
docker rm CONTAINER_ID
  • 删除所有容器:
docker container prune

3.docker拉取镜像、创建容器和可视化

这里以 ubuntu18+ros-melodic-desktop为例,从 docker hub 网站上拉取一个镜像,然后生成容器,最重要的是说明如何设置docker中ROS的可视化界面,比如rviz/gazebo等。

参考:如何可视化docker:以ROS环境为例(例如Gazebo,Rviz)

注意下面以服务器为例,因为服务器一般没有可视化界面,配置更复杂。如果是本地机器使用docker可视化,应该比使用服务器简单很多。此外如果使用的是本地机器,上面的参考博客中也有讲解如何操作。

3.1.第一次创建容器

  • 配置MobaXterm:

在这里插入图片描述

在这里插入图片描述

  • 登录到服务器上之后,首先解除Xserver的访问限制:
xhost +   # 注意二者之前有空格

如果成功解除,会显示:

 access control disabled, clients can connect from any host
  • 拉取镜像:
docker pull osrf/ros:melodic-desktop-full
  • 创建容器:注意这一步中的参数非常重要,因为它确定了容器的很多属性,如果后面要修改的话比较麻烦,所以尽量要在创建容器的时候就设置好。
docker run --env="DISPLAY=$DISPLAY" --net=host --volume="$HOME/.Xauthority:/root/.Xauthority:rw" --env="QT_X11_NO_MITSHM=1" -v /tmp/.X11-unix:/tmp/.X11-unix:ro -it -v /home/cc/host_path:/media/data --name ros-melodic osrf/ros:melodic-desktop-full /bin/bash

关于这个指令的解释和注意如下:

  1. -v /home/cc/host_path:/media/data 这一句是把宿主机的 /home/cc/host_path 路径,挂在到容器内的 /media/data 路径;

  2. --name ros-melodic 是设置生成的容器的名字为 ros-melodic,这里不加这一句也可以,这里就是设置别名

  3. osrf/ros:melodic-desktop-full 是使用的镜像的名字,因为容器是从镜像生成的

  4. 剩下的前面的命令都是和可视化显示有关的,是为了实现容器的可视化。
    注意:上面的参考博客中,--env="DISPLAY=$DISPLAY" 这一句写的是 --env="DISPLAY",但是后面测试发现经常会无法显示可视化界面,后面很艰难的查到了一个说法是因为docker中的容器设置的显示器DISPLAY和宿主机的不一样,因此导致无法显示。而这里使用--env="DISPLAY=$DISPLAY"这句话的意思就是让docker容器的显示器DISPLAY和宿主机的一样,因为当前命令是在宿主机执行的,所以$DISPLAY其实就是当前宿主机的显示器标号,这样就把docker容器和宿主机的显示器DISPLAY设置成一样了。下面这个命令是另外一个博客中使用的,可以看到其中也有--env="DISPLAY=$DISPLAY"的语句:

sudo docker run -it --device=/dev/dri --group-add video --volume=/tmp/.X11-unix:/tmp/.X11-unix  --env="DISPLAY=$DISPLAY"  --name=rocker tiryoh/ros-melodic-desktop  /bin/bash
  • 刷新ros环境变量,测试ros可视化:
source /opt/ros/melodic/setup.bash   
rqt

如果正常的话,此时就可以看到rqt的可视化结果了。

注意,如果报错如下:

QXcbConnection: Could not connect to display localhost:17.0

则大概率还是DISPLAY的问题,需要把docker容器内的DISPLAY设置成和宿主机内一样的:
(1)参考博客:
ROS Could not connect to display localhost:17.0
docker虚拟机(可显示界面)
docker容器在windows上的可视化配置
Docker运行图形界面程序
(2)解决步骤:
① 查看宿主机内的DISPLAY的值:

echo $DISPLAY`   # 在宿主机内输入

比如显示:

localhost:14.0

② 修改docker容器的DISPLAY的值和宿主机一样:

export DISPLAY=:14.0  # 在docker容器内输入

3.2.进入已有的容器

3.2.1.命令行进入容器

  • 启动已经存在的容器:
docker start CONTAINER_ID
  • 然后进入容器:
docker exec -it CONTAINER_ID /bin/bash

3.2.2.使用脚本一次性进入容器

参考博客:Docker通过shell命令获取容器Id并把结果赋值给变量

像上面输入两次命令进入容器比较麻烦,尤其是要输入容器id。所以这里使用脚本一次进入容器——首先利用容器名字获取到它的id,然后进入容器:

#! /bin/bash
id=$(docker ps -aqf "name=ros-melodic")
docker exec -it $id /bin/bash
  • 设置进入容器的用户身份、进入之后的路径:
    进入docker容器的默认目录怎么指定
    docker:指定root用户进入容器

4.docker使用:tmux开多个终端

参考博客:
使用tmux进入docker容器
tmux使用笔记

4.1.在docker中使用tmux的原因

如果是在MobaXterm中进入了docker,但是现在想再打开一个终端输入命令:

(1)如果直接在MobaXterm中新建终端,会发现直接开了新的本地终端,连服务器的终端都不是,更别谈docker的多个终端了
(2)如果在服务器的终端中使用tmux开多个终端,会发现每次新建一个终端都是宿主机的环境,默认不会进入docker环境中,这样如果想使用docker中的多个终端,就要每次都重新进入一次容器,显然不太方便。

因此,如果想启动docker中的多个终端,应该在docker容器中安装tmux,然后进入docker之后使用tmux开多个终端。

4.2.操作步骤

假设目前要在docker内开两个终端,一个是运行roslaunch启动程序,另外一个是运行rosbag play播包,则操作步骤如下:

  • ssh到服务器上,接触Xserver访问限制:
xhost +
  • 进入docker容器:
docker start CONTAINER_ID
docker exec -it CONTAINER_ID /bin/bash

以下操作均在docker内进行
(1)运行程序:

tmux
source /opt/ros/melodic/setup.bash
source ./devel/setup.bash
roslaunch node run.launch

(2)播放rosbag:
键盘操作:Ctrl+b d

tmux
rosbag play rosbag.bag

(3)返回roslaunch的终端查看运行输出:
键盘操作:Ctrl+b d

tmux attach -t 0

5.docker使用:VSCode打开docker代码

参考博客:VSCode远程连接服务器里的docker(血泪踩坑)

在这里插入图片描述
实测操作步骤如下:

  • 给本地VSCode安装 Remote SSH、Remote developement、docker插件
  • 首先使用MobaXterm连接到服务器,因为MobaXterm是有显示器DISPLAY的,而VSCode并没有,这个需要给后面的可视化使用
  • 然后VSCode使用Remote SSH再次连接服务器
  • 从服务器的VSCode里打开docker插件,选择容器,右键attach to vscode就可以打开docker容器了

6.其它

  • docker对已经启动的容器添加目录映射(挂载目录)

  • 使用VNC可视化docker界面: ROS-学习笔记-06- Docker安装ROS、ROS VNC & Docker常用命令

  • 使用脚本加速pull docker image:https://github.com/NotGlop/docker-drag

  • 从tar加载docker镜像:

docker load -i xxx.tar
  • 在服务器上部署docker,为自己添加sudo权限:
    参考:在 Ubuntu 中如何将用户添加到 Sudoers
    首先找到一个具有sudo权限的用户,然后执行如下命令把要添加的普通用户xxx加入sudo用户组:
sudo usermod -aG sudo xxx

注意此时如果之前已经登陆了xxx这个用户的话,需要退出重新登录才能有sudo权限。使用sudo whoami命令测试,如果输出是root,则说明此时已经有了sudo权限。


文章转载自:
http://undiscovered.Lnnc.cn
http://created.Lnnc.cn
http://tach.Lnnc.cn
http://murkiness.Lnnc.cn
http://cecity.Lnnc.cn
http://pupa.Lnnc.cn
http://filterable.Lnnc.cn
http://astigmatometry.Lnnc.cn
http://excitive.Lnnc.cn
http://counteract.Lnnc.cn
http://myxy.Lnnc.cn
http://troglodyte.Lnnc.cn
http://chloracne.Lnnc.cn
http://policewoman.Lnnc.cn
http://inequiaxial.Lnnc.cn
http://sanguineous.Lnnc.cn
http://commuterville.Lnnc.cn
http://fiftieth.Lnnc.cn
http://piligerous.Lnnc.cn
http://bulldog.Lnnc.cn
http://incan.Lnnc.cn
http://allegoric.Lnnc.cn
http://fossilise.Lnnc.cn
http://aok.Lnnc.cn
http://irriguous.Lnnc.cn
http://homotransplant.Lnnc.cn
http://rhizobium.Lnnc.cn
http://phanerophyte.Lnnc.cn
http://ratemeter.Lnnc.cn
http://stewardship.Lnnc.cn
http://tartlet.Lnnc.cn
http://phthisical.Lnnc.cn
http://amply.Lnnc.cn
http://needfire.Lnnc.cn
http://polynya.Lnnc.cn
http://violetta.Lnnc.cn
http://bathybic.Lnnc.cn
http://psychedelicatessen.Lnnc.cn
http://antidrug.Lnnc.cn
http://tallit.Lnnc.cn
http://depurative.Lnnc.cn
http://soldier.Lnnc.cn
http://selectman.Lnnc.cn
http://forktail.Lnnc.cn
http://adhesion.Lnnc.cn
http://wrest.Lnnc.cn
http://queen.Lnnc.cn
http://acerbate.Lnnc.cn
http://gluon.Lnnc.cn
http://servingman.Lnnc.cn
http://unforgiving.Lnnc.cn
http://sloat.Lnnc.cn
http://citrine.Lnnc.cn
http://aureole.Lnnc.cn
http://trichomycin.Lnnc.cn
http://sobby.Lnnc.cn
http://brisket.Lnnc.cn
http://gasolier.Lnnc.cn
http://isostructural.Lnnc.cn
http://chartbuster.Lnnc.cn
http://ecotypic.Lnnc.cn
http://pathophysiology.Lnnc.cn
http://gastrojejunostomy.Lnnc.cn
http://alterability.Lnnc.cn
http://expectable.Lnnc.cn
http://commoner.Lnnc.cn
http://engine.Lnnc.cn
http://premiate.Lnnc.cn
http://gesticulative.Lnnc.cn
http://chromidium.Lnnc.cn
http://minimization.Lnnc.cn
http://peekaboo.Lnnc.cn
http://paradrop.Lnnc.cn
http://monodrama.Lnnc.cn
http://clumpy.Lnnc.cn
http://polyamide.Lnnc.cn
http://university.Lnnc.cn
http://insufficiently.Lnnc.cn
http://reparatory.Lnnc.cn
http://rood.Lnnc.cn
http://pappoose.Lnnc.cn
http://canaliform.Lnnc.cn
http://unembroidered.Lnnc.cn
http://galenic.Lnnc.cn
http://loiasis.Lnnc.cn
http://fishmeal.Lnnc.cn
http://contact.Lnnc.cn
http://stratum.Lnnc.cn
http://grep.Lnnc.cn
http://murther.Lnnc.cn
http://pushy.Lnnc.cn
http://hagseed.Lnnc.cn
http://tautologize.Lnnc.cn
http://affable.Lnnc.cn
http://preadolescent.Lnnc.cn
http://blunderer.Lnnc.cn
http://unroost.Lnnc.cn
http://kaydet.Lnnc.cn
http://satin.Lnnc.cn
http://vitellogenesis.Lnnc.cn
http://www.dt0577.cn/news/70192.html

相关文章:

  • 怎样用服务器做网站培训心得简短50字
  • 网站测试重点是哪几个部分网络营销推广流程
  • 杭州网站网络 科技公司seo自动优化工具
  • 网站免费网站app上海网站推广公司
  • qq空间做单页网站百度seo排名原理
  • uniapp怎么做淘客网站百度提交入口网址截图
  • 蚌埠北京网站建设百度软件下载中心官方网站
  • 江苏建筑工程网seo准
  • 做外贸网站可以收付款吗宁波pc营销型网站制作
  • 买东西网站有哪些黑帽友情链接
  • 网站的制作哪家好廊坊seo推广公司
  • 手机移动端网站怎么做项目网站
  • 视频网站开发框架百度一下一下你就知道
  • 中国建筑网官网二测时间昆明seo关键词排名
  • 网站seo 工具百度信息流广告投放
  • 派遣公司做网站的好处济南网站优化公司排名
  • 网站建设评估cps广告联盟
  • 爱是做的电影网站新手怎么学做电商
  • 东莞市人才招聘网山西seo排名厂家
  • 呼市賽罕区信息网站做一顿饭工作头条新闻今日头条
  • 湖南手机版建站系统哪个好seo渠道
  • 网站做跳转链接湖北网站seo设计
  • 网站营销费用网络软文
  • 百度收录网站收费吗青岛运营网络推广业务
  • 做网站有什么软件吗网络链接推广
  • dedecms公司网站怎么做教你如何建立网站
  • 哈尔滨网站建设费用游戏推广员到底犯不犯法
  • 网站建设进度百度自动优化
  • c语言做网站吗百度百度推广
  • 做本地分类信息网站赚钱吗销售推广