使用Docker之前,请一定先看看前面的《概念介绍》,了解Docker的镜像、容器的概念。
双击桌面“Docker Desktop”图标运行,如果一切正常,可以在任务栏看到以下图标:
如果上图中的鲸鱼图标一直在喷水,表示它还在启动中。启动完毕后,鲸鱼图标就不再喷水,你就可以使用Docker了。
这不是必须的。
可以在Windows命令行、PowerShell下执行各种Docker命令,但是这2个工具都太难用了,MobaXterm比它们好用100倍。
启动MobaXterm后,照下图操作新建一个Session:
执行完上述操作后,可以在MobaXterm左侧看到名为“Powershell”的按钮,双击它就可以进入命令行:
在MobaXterm中打开Powershell命令行,执行如下命令:
docker pull weidongshan/ubuntu-18.04:version1.0
以后可以执行以下命令查看这些镜像:
docker image ls
volume用来保存我们的数据,在MobaXterm中打开Powershell命令行,执行如下命令。本命令只需要执行一次:
这个命令只需要执行一次,在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 // 查看“所有容器”
如果你重启电脑,或是重启Docker,里面的容器都是“Exited”状态,表示它已经不再运行了,可以执行以下命令启动它:
docker start ubuntu
如果容器的状态是“Up”,表示它正在运行,可以执行以下命令停止它:
docker stop ubuntu
一个容器启动后,可以执行它里面的命令,使用以下命令进入容器,它的意思是执行ubuntu容器里的bash命令,i表示interactive(交互)、t表示tty(会打开一个交互终端):
docker exec -it ubuntu bash
假设你已经创建了容器,那么在日常工作中,你每天打开电脑后,你需要做的就是这个命令:
docker start ubuntu // 启动容器
docker exec -it ubuntu bash // 进入容器,开始工作,可以在多个命令行中执行这命令
在Ubuntu下,要先执行start 命令,它会启动SSH、NFS等服务
在Ubuntu下,执行exit退出容器
docker stop ubuntu // 停止容器,下班回家
Windows 10教育版、家庭版无法安装Docker,请使用VMware吧。
大部分安装问题都是Hyper-V服务无法启动,请参考《2.3.2 安装Docker》里的1、2、3进行设置;如果还是无法安装,可以参考《2.3.2.5 可能需要升级Windows》。
注意:我曾经在Hyper-V上折腾了一天,网上各种方法可能有用也可能无用,我是升级系统才解决的。
如果Windows无法远程登录Ubuntu,使用Filezilla无法连接Ubuntu、开发板无法通过NFS挂载Ubuntu,那么很可能是防火墙的问题,或是端口被占用了。
端口被占用时,很可能是VMware的NAT服务,可以如下关闭:
全文下载:嵌入式Linux系统开发完全手册 第二版