专栏首页韦东山嵌入式Docker使用手册 嵌入式Linux环境搭建

Docker使用手册 嵌入式Linux环境搭建

2.3.3 使用Docker

使用Docker之前,请一定先看看前面的《概念介绍》,了解Docker的镜像、容器的概念。

2.3.3.1 运行“Docker Desktop”

双击桌面“Docker Desktop”图标运行,如果一切正常,可以在任务栏看到以下图标:

如果上图中的鲸鱼图标一直在喷水,表示它还在启动中。启动完毕后,鲸鱼图标就不再喷水,你就可以使用Docker了。

2.3.3.2 设置Docker存储目录

2.3.3.3 使用MobaXterm打开命令行

这不是必须的。 可以在Windows命令行、PowerShell下执行各种Docker命令,但是这2个工具都太难用了,MobaXterm比它们好用100倍。 启动MobaXterm后,照下图操作新建一个Session:

执行完上述操作后,可以在MobaXterm左侧看到名为“Powershell”的按钮,双击它就可以进入命令行:

2.3.3.4 下载Ubuntu镜像

在MobaXterm中打开Powershell命令行,执行如下命令:

docker  pull   weidongshan/ubuntu-18.04:version1.0 

以后可以执行以下命令查看这些镜像:

docker  image   ls

2.3.3.5 创建volume

volume用来保存我们的数据,在MobaXterm中打开Powershell命令行,执行如下命令。本命令只需要执行一次:

2.3.3.6 创建容器

这个命令只需要执行一次,在MobaXterm中打开Powershell命令行,执行如下命令。 注意:为了方便大家复制,这些命令写成了多行,把它们复制到记事本,合并成一行,注意空格:

docker run -h 100ask   --name ubuntu  
-p 1234:1234  -p 22:22 -p 2049:2049  -p 9999:9999  
-it --privileged=true  
--mount source=homedate,target=/home/book  -w /home/book  
--user book  weidongshan/ubuntu-18.04:version1.0  bash 

如下图所示:

这时,可以启动另一个Powershell命令行,执行以下命令查看容器:

docker   ps         // 查看“正在运行的容器”
docker   ps   -a    // 查看“所有容器”

如下图:

2.3.3.7 运行、进入、退出、停止容器

如果你重启电脑,或是重启Docker,里面的容器都是“Exited”状态,表示它已经不再运行了,可以执行以下命令启动它:

docker   start   ubuntu

如果容器的状态是“Up”,表示它正在运行,可以执行以下命令停止它:

docker   stop   ubuntu

一个容器启动后,可以执行它里面的命令,使用以下命令进入容器,它的意思是执行ubuntu容器里的bash命令,i表示interactive(交互)、t表示tty(会打开一个交互终端):

docker   exec   -it   ubuntu   bash 

在Ubuntu命令行中执行exit即可退出容器。

2.3.3.8 日常工作

假设你已经创建了容器,那么在日常工作中,你每天打开电脑后,你需要做的就是这个命令:

docker   start   ubuntu                  // 启动容器
docker   exec   -it   ubuntu   bash      // 进入容器,开始工作,可以在多个命令行中执行这命令
在Ubuntu下,要先执行start 命令,它会启动SSH、NFS等服务
在Ubuntu下,执行exit退出容器
docker   stop    ubuntu                  // 停止容器,下班回家

如下图所示:

2.3.4 常见问题

2.3.4.1 安装问题

Windows 10教育版、家庭版无法安装Docker,请使用VMware吧。 大部分安装问题都是Hyper-V服务无法启动,请参考《2.3.2 安装Docker》里的1、2、3进行设置;如果还是无法安装,可以参考《2.3.2.5 可能需要升级Windows》。 注意:我曾经在Hyper-V上折腾了一天,网上各种方法可能有用也可能无用,我是升级系统才解决的。

2.3.4.2 网络问题

如果Windows无法远程登录Ubuntu,使用Filezilla无法连接Ubuntu、开发板无法通过NFS挂载Ubuntu,那么很可能是防火墙的问题,或是端口被占用了。 端口被占用时,很可能是VMware的NAT服务,可以如下关闭:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 嵌入式Linux 搭建开发环境

    学习嵌入式Linux时,各种程序比如Linux内核、你编写的驱动、应用,都需要在Linux机器下编译。但是很多人习惯在Windows下编写文档、编写程序、聊微信...

    韦东山
  • 嵌入式开发环境搭建

    OpenWrt 可以被描述为一个嵌入式的 Linux 发行版。现在叫lede,全名Linux嵌入式开发环境项目(Linux Embedded Developme...

    润森
  • 嵌入式Linux上便捷开发环境搭建

    1.本文说明2.基本工具3.基本思想4.操作流程4.1 第一步ubuntu上安装tfp4.2 Windows上VS Code的操作5. 测试与使用6.总结

    bigmagic
  • 嵌入式Linux开发环境搭建 配置Ubuntu

    确保Ubuntu能上网之后,使用下面命令一键配置/初始化开发环境((其实就是安装tftp,nfs,vim等软件,此脚本只支持Ubuntu-16.04 /Ubun...

    韦东山
  • 嵌入式开发中常用的虚拟机与容器

    嵌入式开发已经从以往的单片机开发逐渐过渡到越来越依赖Linux的系统。虽然大多数情况下,windows的开发工具可以做很多嵌入式开发工作,也有很多好用的工具,但...

    bigmagic
  • 使用 Docker 搭建 ELK 环境

    本文将聊聊如何使用 Docker 搭建 ELK (Elasticsearch、Logstash、Kibana)。

    soulteary
  • 使用 Docker 搭建 ELK 环境

    本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)

    soulteary
  • 嵌入式Linux系列第1篇:开发环境搭建

    很多做单片机开发的工程师因为各种原因可能要学习Linux,但是很多人刚开始却无从下手或者多次中途放弃,网上相关的资料虽然很多但是也比较零散、不系统。Linux嵌...

    用户2366192
  • 「开发者手册」手把手教你使用docker搭建你的服务器环境

    最近在腾讯云买了一个服务器(1核、2GB、1Mbps、CentOS 7.2、64位),准备搭建自己的LAMP(Linux、Apache、Mysql、PHP)服务...

    ZhangXianSheng
  • VVの嵌入式(一)开发环境搭建

    平台:Ubuntu32位虚拟机 目标平台:海思Hi3559V100 工欲善其事必先利其器,在进行嵌入式linux开发的时候需要搭建一个能够调试的环境,在电脑...

    Pulsar-V
  • 使用Docker环境快速搭建靶机环境

    在实际学习中,经常需要模拟不同的漏洞环境,而使用公网的实例的话,多多少少又存在一些风险,因此能搭建一个本地的模拟环境去测试漏洞是一个不错的方案。Docker是近...

    FB客服
  • 嵌入式Linux开发环境搭建ping、nfs的解决方法

    整个嵌入式系统的加载启动任务完全交给Bootloader完成,它的主要任务是将内核映象从硬盘读到RAM中,然后跳转到内核入口启动内核(操作系统)!通俗来讲,Bo...

    砸漏
  • Docker下,两分钟极速体验Nacos

    版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)

    程序员欣宸
  • 如何使用docker搭建PHP环境

    在前面几篇文章中,我们使用dnmp搭建了一个完整的docker开发环境。这篇文章接着分享如何在dnmp的基础上搭建一个自定义的PHP容器,实现多版本的PHP容器...

    A梦多啦A
  • 视频:使用Docker搭建RabbitMQ环境

    RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、A...

    码农小胖哥
  • docker相关工具

    1. 构建系统 2. 镜像仓库 3. 宿主机管理 4. 配置管理 5. 部署 6. 编排 7. 日志 8. 监控 镜像: 1. 如果用户像往...

    菲宇
  • 快速搭建 SpringCloud 微服务开发环境的脚手架

    HelloGitHub 推出的《讲解开源项目》[1]系列,今天给大家带来一款基于 SpringCloud2.1 的微服务开发脚手开源项目——SpringClou...

    HelloGitHub
  • 使用 Docker 搭建 Java Web 运行环境

    Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它。Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内...

    用户1257393
  • 使用 Docker 搭建 Java Web 运行环境

    Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它。Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内...

    lyb-geek

扫码关注云+社区

领取腾讯云代金券