Docker简明使用指南

设置docker开机自启动,并设置容器自动重启 设置 Docker 容器的自动重启策略及更新已有容器的重启策略 systemctl enable docker 2、设置容器自动重启 1)创建容器时设置 docker run -d--restart=always --name 设置容器名 使用的镜像 (上面命令 --name后面两个参数根据实际情况自行修改) --restart具体参数值详细信息: no        容器退出时,不重启容器; on-failure   只有在非0状态退出时才重新启动容器; always     ... 阅读详情

对于Docker,我只想说早用早享受~

安装Docker

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

# step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

# Step 4: 更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

# Step 5: 查看docker是否安装成功
docker version

安装共享显示接口组件

sudo apt-get install x11-xserver-utils //确保安装了x11

拉取ubuntu20镜像

docker pull shoufei/foxy:navigation2

显示GUI应用界面

 xhost +

先在本机的命令窗口运行这条命令,再在docker环境里运行GUI应用。

常用的Docker 命令

创建镜像

以共享显示的方式创建容器

sudo docker run -it \
  -v /etc/localtime:/etc/localtime:ro \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -v /home/kevin/catkin_ws:/catkin_ws \
  -e DISPLAY=unix$DISPLAY \
  -e GDK_SCALE \
  -e GDK_DPI_SCALE \
  --name ubuntu20 \
  shoufei/foxy:navigation2 /bin/bash

注意:-v /home/kevin/catkin_ws:/catkin_ws

这条语句是将本机的目录映射到docker内部。其中/home/kevin/catkin_ws是本机目录,/catkin_ws是映射到docker后,docker中显示的目录。在docker中访问/catkin_ws即可访问本机的/home/kevin/catkin_ws目录。

查看已经在运行的容器ID

//查看已经在运行的容器ID
sudo docker ps -a

启动容器

sudo docker start eb9c37626c86 #eb9c37626c86为容器的id

当启动了容器后可以用下面的命令多开容器命令窗口

sudo docker exec -it 31ced27e1684 /bin/bash  #31ced27e1684是容器的id

停止容器

sudo docker stop 容器id

删除启动的容器

sudo docker rm -f cf48d1718558

删除镜像

需要先把加载了镜像的容器停止,再删除。ubuntu是镜像仓库名,latest是tag。

sudo docker rmi ubuntu:latest

commit 自己修改好的镜像

注意:启动镜像时不要加–rm选项,加了的话退出后容器就会被删掉的。

下面是一个示例:

#启动容器
sudo docker run -it \
  -v /etc/localtime:/etc/localtime:ro \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -v /home/kevin/catkin_ws:/catkin_ws \
  -e DISPLAY=unix$DISPLAY \
  -e GDK_SCALE \
  -e GDK_DPI_SCALE \
  --name kinetic \
  osrf/ros:kinetic-desktop-full /bin/bash

  #中间做了一些修改
  mkdir tes

  #ctrl+d退出

  #commit新的修改
  sudo docker commit -m "test " -a "Kevin Shou" 3f72a50a0372 kinetic:osqp
  #-m 写注释
  #-a 写作者
  #后面加想commit的容器ID
  #再后面是新镜像的命名

  #修改镜像名称,需保证名称有docker仓库的名称作为前缀
  sudo docker tag kinetic:osqp shoufei/kinetic:test

  #shoufei/kinetic是我在dockerhub上建的仓库名称。shoufei是用户名,kinetic是仓库名,test是仓库里的tag,用于区分不同的提交(commit)。

本地登入docker

sudo docker login
#登录自己的dockerhub的账户

上传自己镜像

sudo docker push shoufei/kinetic:test
#shoufei/kinetic:test 为镜像的名称

切换用户

sudo docker logout

将当前用户加入docker群组中

这样使用docker命令时就不用每次都加sudo了

sudo usermod -aG docker $USER

查询是否已经加入docker群组

id $USER

觉得有用就点赞吧!

我是首飞,一个帮大家填坑的机器人开发攻城狮。

另外在公众号《首飞》内回复“机器人”获取精心推荐的C/C++,Python,Docker,Qt,ROS1/2等机器人行业常用技术资料。

68页|大型车企集团数字化转型汽车数字化信息系统平台规划方案 这份PPT文档提供了一个全面的汽车集团数字化转型规划方案,涵盖了项目目标、规划思路、实施关注点、解决方案建议以及合作优势等多个方面。 阅读详情

相关推荐

SAR成像处理基本知识2——图像尺寸与回波尺寸的关系

阅读本文前,请先了解上一篇文章(SAR成像处理基本知识1——常用专用名词解释) 1. SAR图像尺寸预估方法 以C波段2m@20km的SAR图像为例,假设天线中心下视角为35° ,说明图像尺寸的估计方法。 1.1 距离向尺寸估计 地距分辨率为2m时,距离向分辨率约为1.15m,则要求信号带宽不小于130MHz,假设信号带宽为150MHz,采样率为180MHz,那么距离向分辨单元为0.833m。 地距幅宽为20km时,距离向幅宽约为20*sind(3...

爱学习的小伟的博客 4955

docker的入门使用—太详细了

你的项目只需要三步,在当前目录下再加一个dockerfile文件 ——>docker build创建镜像 ——>docker run运行容器的命令后,你的项目就可以运行跑起来了,此时就形成了容器但是每次部署的话,总是要执行docker build创建镜像 ——> docker run运行容器 会显得很麻烦,那么可以在dockerfile文件里面指定挂载目录,这样可以及时同时生效,省去前面两个命令一个项目一个容器,两个项目两个容器,两个容器之间如何互相通信,比如前端和后端的服务,此时我们可以。

飞得更高肥尾沙鼠 1万+

嵌入式开发面试题全解析:指针、内存、数据类型关键问题总结

本文对嵌入式开发典型面试题进行深度解析,涵盖多方面关键知识。题目 19 揭示字符指针修改字符串常量的错误操作;题目 20 展现strcpy引发的缓冲区溢出风险;题目 21 体现未初始化数组与strlen结合的不可预测性;题目 22 通过位域与对齐规则计算结构体大小;题目 23 因unsigned char溢出导致循环异常。这些题目全面覆盖指针操作、内存管理、数据类型特性等核心内容,精准指出开发中易疏忽的陷阱,有助于理解编程规范,规避风险,提升代码质量与稳定性,是深入掌握嵌入式开发要点的实用指南。

嵌入式中手 1365

Docker 入门到实战教程(一)介绍Docker

一. Docker简介1.1 什么是虚拟化?在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务...

李浩东的博客 90万+

Slow waitForAckedSeqno took 64873ms (threshold=30000ms). File being written

Slow waitForAckedSeqno took 64873ms (threshold=30000ms). File being written

zhengzaifeidelushang的博客 2011

【产品经理修炼之道】- 优惠券系统从入门到精通(二)

在电商平台中,优惠券的使用场景与频次都很高。那么如何做好一个优惠券系统呢?本文总结了相关流程和设计思路,希望对你有所帮助。上一篇与大家分享了架构中的前端应用、生命周期、优惠券管理中OpenAPI 、基础系统,今天继续与大家分享架构图中优惠券模板部分。

xiaoli8748的专栏 1292

Docker介绍与入门(一文就可入门)

Docker的使用可以简化应用程序的开发、部署和运行过程,提供了一种轻量级、可移植和自包含的容器化环境,使开发人员能够在不同的计算机上以一致的方式构建、打包和分发应用程序。

okay_ing的博客 1458

3.PCIe协议分析1-预备知识点

PCIE协议分析1主要讲一下四方面: PCI-E配置空间 PCI-E地址映射 PCI-E Bar空间 PCI-E层级结构详谈 (1)PCIE配置空间 我们过来学习PCIE的同学应该都接触各种类型的功能芯片吧,这些功能芯片连接在电路里面我们可以认为它是一个外部设备,这些设备里面有自己独有的寄存器区域,比如SDRAM里面的ID寄存器或者其他配置寄存器。好的,其实我们PCIE板卡也相当...

一个早起的程序员 4145

Docker命令

登录到一个 Docker 镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub。这两个选项是用于在命令行中提前指定登录的账号和密码,即使不提前输入,后续在 login 的中途也要输入。且使用 -p 选项提前输入密码,会导致密码信息存储在 history 中,有安全隐患。

laimaxgg 3941

大数据学习指南从入门到精通

利用框架的力量,看懂游戏规则,才是入行的前提大多数人不懂,不会,不做,才是你的机会,你得行动,不能畏首畏尾选择才是拉差距关键,风向,比你流的汗水重要一万倍,逆风划船要累死人的为什么选择学习大数据开发,不选择Java开发?借棋弈做比喻,智商高的不要选择五子琪,要选择围棋,它能长久地吸引你。不都是在棋盘上一颗黑子一颗白子地下吗?因为围棋更复杂,能够掌握如此复杂的技艺、产生稳定输出的棋手、让我们更佩服。选择学习大数据开发也如此,能让你的职业生涯走得更远,少走弯路。

Lansonli(蓝深李)的博客 2万+

【技术科普】破解政务跨系统数据壁垒!亘川一网统管平台多源数据同步技术解析

本文解析亘川一网统管平台多源数据同步技术,针对政务跨系统数据壁垒难题,介绍组件的数据采集、校验、审计留痕等核心能力,结合营商环境项目落地案例,对比传统开发模式差异,讲解开源组件的实践价值,为政务项目开发者提供落地参考。

weixin_67440240的博客 637

Docker 简明教程

http://www.aqcoder.com/post/content?id=6

Ravenq的专栏 204

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Docker简明教程

Docker简明教程

weixin_33969116的博客 74

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

通过Docker部署Teable简明步骤

如果要连接到本地部署的数据库,请使用 instead 而不是 作为主机地址,否则连接将失败127.0.0.1host.docker.internal127.0.0.1。EE 允许免费使用所有 CE 功能,并通过许可证订阅支持 Enterprise 独占功能。EE 数据与 CE 兼容,您可以在版本之间切换。它的数据与 EE 兼容,您可以随时切换到 EE。删除 service.teable.depends_on.teable-cache。Teable 提供企业版 (EE) 和社区版 (CE) 镜像。

fengye002fly的博客 1982

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

docker简明教程

一:介绍 本简明教程没有理论和思想,直接介绍怎么使用。 Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,然后很容易地发布和应用到任意平台中 为什么时候Docker : 不同的应用程序所依赖的环境不一样,如果把他们依赖的软件都安装在一个服务器上,不仅需要调试很久,而且可能会有冲突。 如果想把两个应用程序隔离起来,可以在服务器上创建不同的虚拟机,不同的虚拟机放不同的应用,但是虚拟机的开销比较高。docker作为轻量级的虚拟机,是一个很好的工具。 二:思想

weixin_43952174的博客 430

Docker入门简明教程

Docker 入门教程

一位专注网络安全以及渗透的资深工程师 1069

docker搭建集群 mysql redis rabbitmq minio 简明教程

如果从docker部署, 必须要加一条映射, 比如 6379:6379 -> 16379:16379 . 把端口两边 + 10000。如果说, 外部链接redis 集群出现问题, 有可能是内部的网络没有正确映射。rabbitmq-node1 是启动容器时指定的host名字,如果错误无关紧要, 运行以下跳过错误, 然后重新启动从库。不用额外配置,主要是docker 启动指定好。命令可以查询某个容器的host名字。外部的服务器必须能连接到这里显示的ip!,需先修改配置并重启节点。添加, 以支持中文编码。

weixin_53280374的博客 885

【Docker系列】在 Linux 上安装 Docker Compose 的简明步骤

本文介绍了在 Linux 系统上安装 Docker Compose 的简明步骤。通过按照上述步骤,您可以轻松地在 Linux 环境中安装和配置 Docker Compose。安装完成后,您可以使用 Docker Compose 来定义和管理多个 Docker 容器,实现容器化应用程序的部署和管理。Docker Compose 提供了一种简单而强大的方式来管理复杂的容器化应用程序。它可以帮助您简化部署流程,提高开发和运维效率。

优快云站内信: https://i.youkuaiyun.com/#/msg/chat/qyj19920704 1万+

简明docker教程

<!-- TOC --> 简明docker教程 一、什么是docker 二、docker与虚拟机比较 三、安装docker 四、基本概念 1、镜像 2、容器 3、数据卷 4、挂载 五、参考资料 <!-- /TOC --> 有收获的话请加颗小星星,没有收获的话可以 反对 没有帮助 举报三连 代码仓库...

weixin_33775572的博客 125
上一篇: [ROS2] map_server加载地图文件的三种模式
下一篇: [ROS2]下载Navigation2源码来学习
首飞爱玩机器人
博客等级 码龄14年 6990粉丝 120原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

首飞爱玩机器人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值