Application Note Docker 使用简介 基于 M6708-T 的 Ubuntu16.04 系统 AN V0.00 Date: 2018/06/13 产品应用笔记 类别 内容 关键词 Docker Ubuntu 摘 要 介绍 Ubuntu 系统下的 Docker 基本

Similar documents
修订历史 版本日期原因 V /09/28 创建文档 产品应用笔记 2017 Guangzhou ZHIYUAN Electronics Co., Ltd.. i

A9RF716.tmp

Data Sheet Camera-Demo 配件版产品数据手册 工控主板配件板 DS V1.00 Date: 2016/5/30 产品数据手册 概述 Camera-Demo 是广州致远电子股份有限公司开发的一款评估配件板 该配件板采用 ADV7180 模拟转数字解码方案, 可分时采

Agilent N5700 N5741A-49A, N5750A-52A, N5761A-69A, N5770A-72A W 1500 W 600 V 180 A 1 U Vac AC LAN,USB GPIB Agilent N5700 1U 750W 1500W 24

自由軟體教學平台

自由軟體教學平台

自由軟體教學平台

AIX系统培训7.ppt

05_資源分享-NFS及NIS.doc

AL-MX200 Series

Microsoft Word - PS2_linux_guide_cn.doc

投影片 1

ebook70-22

修订历史版本 日期 原因 V /07/22 创建文档 V /11/17 第一次修改 V /02/10 第二次修改 V /11/22 第三次修改 V /11/11 更新手册布局 联系方式 V /07/31

Simulator By SunLingxi 2003

1.ai

User Manual AWorks M1050 内部 RAM 配置指南 产品用户手册 V1.0.0 Date:2018/07/05 产品用户手册 类别 内容 关键词 FlexRAM D-TCM I-TCM OCRAM 摘 要 本文描述了如何配置 i.mx RT105x 的内部

安规试验报告

untitled

A9RBC8B.tmp

untitled

Microsoft Word - 第5章.doc

Logitech Wireless Combo MK45 English

像 客 样 使 命令行 徐 东

本文由筱驀釹贡献

修订历史 版本日期原因 V /07/19 创建文档 i

1 IT IT IT IT Virtual Machine, VM VM VM VM Operating Systems, OS IT

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

Oracle 4

八个基本的 Docker 容器管理命令

1

IP505SM_manual_cn.doc

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

投影片 1

TKScope 仿真器编程 ATmega8 使用指南 Application Note AN V1.00 Date: 2010/05/14 产品应用笔记 类别 关键词 摘要 内容 TKScope AVR 编程 K-Flash ATmega8 TKScope 仿真器编程 ATmega8

资源管理软件TORQUE与作业调度软件Maui的安装、设置及使用

PowerPoint 演示文稿

Windows 2000 Server for T100

Linux 操作系统课程社区创作

ebook140-9

手册 doc

ch08.PDF

(Microsoft Word - 00.RHCE_RHEL6_\260\362\302\246_\272\364\270\364\272\336\262z_\250\276\244\365\300\360\303\366\263\254_ doc)

0 配置 Host MIB 设备 V ( 简体版 ) 0 Update: 2016/1/30

六域链联盟 SDChain-Matrix 节点搭建指南 2018/07/26 Version : 1.0.0

LSI U320 SCSI卡用户手册.doc

2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A. Sun Sun Berkeley BSD University of California UNIX X/Open Company, Ltd.

Hadoop2.2.0完全分布式集群平台安装与设置

Microsoft Word - install_manual-V _CN.docx

Windows XP

CHN_p000A_Cover.ai

ebook35-2

Unix®t Œ fi z.PDF

epub83-1

Chapter 2

Microsoft Word - linux命令及建议.doc

Serial ATA ( Silicon Image SiI3114)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 5 (4) S A T A... 8 (5) S A T A... 10

.. 3 N

09 Linux Linux Linux Linux 009.indd /9/4 下午 12:11:10

CANVIO_AEROCAST_CS_EN.indd

untitled

ebook70-21

ebook70-11

注意事项 本报告中所描述的试验现象和试验结果仅适用于受试产品, 最终解释权归广州致远电 子有限公司 环境实验室 为确保试验结果的准确性和可重复性, 该实验室会不定期地 与第三方权威检测认证机构进行试验数据的比对, 以确保结果的可对比性 其他相关注意事项 : 1. 如果该报告没有签名或盖章, 则视为无

Linux Ubuntu Part Linux Ubuntu Linux UNIX...19 Linux...19 Linux Linux...21 Linux GNU FSF Open So urce.

Microsoft PowerPoint - M241 firmware flashing guide pptx

PTS7_Manual.PDF

RTX3.2.0标准版 - 技术白皮书

05 01 X Window X Window Linux Linux X Window X Window Webmin Web Linux Linux X Window X Window Notebook PC X Window X Window module Linux Linux kernel

ebook140-8

修订历史版本 日期 原因 V /01/01 内部制定初稿 V /03/13 第一次发布 V /6/25 第二次发布 V /07/21 第三次发布 i

1

目 录 Linux Mint 简介... 3 Linux Mint 安装... 6 Linux Mint 桌面初识 软件管理...30 小技巧...40 总结...42

電子商業伺服器管理(終極版).doc

IC-900W Wireless Pan & Tilt Wireless Pan & Tilt Remote Control / Night Vision FCC ID:RUJ-LR802UWG

Data Sheet ZCM26XXD ±10V 电压信号输入有源高精度隔离变送器 V1.01 Date: 2016/09/27 产品数据手册 概述 产品特性 ZCM26XX 系列有源隔离放大器是一种 高精度 (0.1% F.S.); 前级电压信号输入, 后级多种信号类型输出 四隔离 ( 信号输入

Cadence SPB 15.2 VOICE Cadence SPB 15.2 PC Cadence 3 (1) CD1 1of 2 (2) CD2 2of 2 (3) CD3 Concept HDL 1of 1

P800isp 产品简介

Windows 2000 Server for T100

软件测试(TA07)第一学期考试

68369 (ppp quickstart guide)

Microsoft Word - OPIGIMAC 譯本.doc

修订历史版本 日期 原因 V /01/01 内部制定初稿 V /03/13 第一次发布 V /6/25 第二次发布 V /07/21 第三次发布 V /7/24 第四次发布 i

Sun Fire V440 Server Administration Guide - zh_TW

修订历史 版本日期原因 V /3/27 创建文档 i

CentOS

第零章、為何要學作業系統

Olav Lundström MicroSCADA Pro Marketing & Sales 2005 ABB - 1-1MRS755673

puppet 简介 3 puppet 是什么 3 Hello world 4 puppet 安装 5 debian 系发行版安装 puppet 5 redhat 系发行版安装 puppet 5 源代码安装 puppet 6 配置 c/s 模式的 puppet 试验环境 6 puppet 语法 8 资

docker logs # 查看容器的日志 (stdout/stderr) docker events # 得到 docker 服务器的实时的事件 docker port # 显示容器的端口映射 docker top # 显示容器的进程信息 docker diff # 显示容器文件系统的前后变化 导

untitled

SP5 user guide.PDF

lect03.ppt

untitled

專業式報告

T

Some experiences in working with Madagascar: installa7on & development Tengfei Wang, Peng Zou Tongji university

Sun Update Connection System Sun Microsystems, Inc Network Circle Santa Clara, CA U.S.A

Microsoft PowerPoint - 03.IPv6_Linux.ppt [相容模式]

Transcription:

Application Note 基于 M6708-T 的 Ubuntu16.04 系统 AN01010101 V0.00 Date: 2018/06/13 类别 内容 关键词 Docker Ubuntu 摘 要 介绍 Ubuntu 系统下的 Docker 基本使用方法

修订历史 版本日期原因 V1.00 2018/06/13 创建文档 i

目录 1. 适用范围... 1 2. 开发环境... 2 3. Ubuntu16.04 系统烧写... 3 3.1 制作 TF/SD 卡... 3 3.2 烧写 Ubuntu16.04 系统... 4 4. Docker 简介... 5 4.1 Docker 的优势... 5 4.2 Docker 应用场景... 5 4.3 Docker 系统架构... 5 5.... 7 5.1 Docker 版本更换... 7 5.2 Docker 基本操作... 7 5.2.1 Docker 守护进程... 7 5.2.2 运行 hello-world 容器... 8 5.2.3 运行 ubuntu 容器... 9 5.2.4 查询容器... 11 5.2.5 重新启动容器... 12 5.2.6 删除容器... 12 6. 免责声明... 13 1

1. 适用范围 本文档是下的, 适用于广州致远电子 有限公司基于 NXP i.mx6dl/ i.mx6q 开发的 M6708-T 系列核心板以及 IoT9000A-LI 工控 板, 且仅适用于 Ubuntu 系统 1

2. 开发环境 1. 硬件环境 M6708-T 系列核心板结合 EVB-6708T-L( 评估底板 ), 或者 IoT9000A-LI 工控板 2. 软件环境需要烧写 M6708-T 系列核心板或 IoT9000A-LI 配套 Ubuntu16.04 系统, 烧写工具可从官网下载, 并按用户手册中烧写指导进行烧写 此系统版本信息如下 : 内核版本 :Linux4.1.15; Ubuntu 版本 :Ubuntu16.04 LTS(Armhf 版本 ); Docker 版本 :17.03.1-ce 2

3. Ubuntu16.04 系统烧写 3.1 制作 TF/SD 卡 mk_burnsd-m6708-t-ubuntu1604.zip 是 M6708-T 系列核心板以及工控板的 Ubuntu1604 系统恢复和更新工具 解压 mk_burnsd-m6708-t-ubuntu1604.zip 后, 其中 burn.bat 文件是用来制作 TF/SD 卡的脚本, 双击运行此脚本即可完成 TF/SD 卡的制作, 界面如图 3.1 所示 图 3.1 输入 SD/TF 卡盘符 此时需要输入要制作的 TF/SD 卡的盘符, 请输入 TF/SD 卡在 PC 机上的实际盘符 图 3.2 选择核心板型号 输入盘符后, 请根据核心板型号输入相应的数字编号, 如图 3.2 所示 图 3.3 制作烧写卡完成 3

当卡制作完成时, 会显示 烧写完成, 按键退出 要求输入任意键来退出烧写, 如图 3.3 所示 至此, 用于恢复出厂固件的 TF/SD 卡已经制作完成 3.2 烧写 Ubuntu16.04 系统烧写卡制作完成后, 将卡插入 TF/SD 卡座, 短接板上 CFG 跳线中的 SD0 SD1 启动跳线, 重新上电后, 系统将自动进行烧写, 串口最后会输出如下信息 : rootfs/var/lib/systemd/coredump/ rootfs/var/lib/systemd/catalog/ rootfs/var/lib/systemd/catalog/database rootfs/var/lib/systemd/random-seed rootfs/var/mail/ rootfs/var/local/ rootfs/var/run rootfs/var/backups/ rootfs/var/lock rootfs/proc/ OK! OK! OK! OK! OK! OK! burn OK! 完成烧写后系统蜂鸣器会短鸣一声 断电后, 断开 SD0 SD1 跳线, 重新上电 即可启动烧写好的系统 4

4. Docker 简介 Docker 是一个能够把应用程序自动部署到容器的开源引擎 该引擎提供一个能够运行应用程序的轻量 快速的环境, 并方便高效地将程序从开发环境部署到测试环境, 再部署到工作环境 4.1 Docker 的优势 1. 提供一个简单 轻量的建模方式 Docker 用户可以很快速地将自己的程序 Docker 化,Docker 采用 写时复制 模型, 使得应用程序修改变得非常快速便捷 通过创建容器来运行应用程序, 容器拥有很高的性能, 一台主机可运行多个容器, 使用户尽可能充分利用系统资源 2. 职责分离使用 Docker 后, 开发人员只需要关心容器中运行的应用程序, 而运维人员只需要关心如何管理容器 3. 快速高效的开发生命周期使用 Docker 能够缩短代码开发 测试 部署 上线运行的周期, 让应用程序具备可移植性, 解决由开发环境和运行环境差异所导致的各种问题, 使程序易于构建, 易于协作 4. 使用面向服务的架构 Docker 支持面向服务的架构和微服务架构 Docker 推荐单个容器只运行一个应用程序, 形成一个分布式的应用程序模型, 在这种模型下, 应用程序可以表示为一系列内部互联的容器, 从而使得扩展或调试应用程序变得简单化, 同时也提高了程序的内省性 4.2 Docker 应用场景 Docker 的常用应用场景如下 : 应用程序开发人员可构建 运行并分享 Docker 容器, 然后轻松地提交到测试环境中, 并最终进入生产环境 ; 用 Docker 创建隔离的环境来进行测试, 让开发者先在本机上构建一个复杂的程序或架构来进行测试, 而不需要开始就在生产环境下部署 测试 ; 为开发 测试提供一个轻量级的独立沙盒环境, 或者将独立的沙盒环境用于教学工作, 如 Linux shell 的使用 编程语言教学 ; Docker 为软件开发和云计算平台建立了桥梁, 通过 Docker 可以让自己的程序运行在云端 ; 高性能 超大规模的宿主机部署 4.3 Docker 系统架构 Docker 是一个客户端 / 服务器 (C/S) 架构系统, 其系统架构如图 4.1 所示 5

图 4.1 Docker 系统架构图 Docker 守护进程 : 即 Docker 服务进程, 负责容器的创建 运行和监控, 此外负责镜像的构建和储存 ; Docker 客户端 : 负责向 Docker 守护进程发出请求, 守护进程根据请求完成相应的工作, 客户端可以和 Docker 守护进程运行在同一台主机上, 也可以远程连接到另一台运行 Docker 守护进程的主机 ; Registry: 负责储存和发布镜像, 默认的 Registry 为 Docker Hub Registry, 其地址为 http://registry.hub.docker.com, 可通过 Docker 的 search 命令或网页搜索上面已有的镜像 ; Docker 镜像 : 可以看作是一个特殊的文件系统, 用于提供容器运行所需要的程序 库 资源 配置 ; 容器 : 是镜像运行的实例, 用户可以在容器中运行自己应用程序和启动服务 镜像与容器区别 : 镜像是 Docker 生命周期中的构建或打包阶段, 而容器是启动或执行阶段 6

5. M6708-T 系列核心板或 IoT9000A-LI 工控板配套的 Ubuntu16.04 系统, 默认已安装 Docker 软件, 其版本为 :Docker17.03.1-ce 5.1 Docker 版本更换如果需要更换 Docker 版本, 可按以下方法进行操作 首先, 使用 apt-cache madison docker-ce 命令列出系统当前可用的 Docker 版本, 执行示例如下 : root@localhost:~# apt-cache madison docker-ce docker-ce 18.03.1~ce-0~ubuntu https://download.docker.com/linux/ubuntu xenial/stable armhf Packages docker-ce 18.03.0~ce-0~ubuntu https://download.docker.com/linux/ubuntu xenial/stable armhf Packages docker-ce 17.12.1~ce-0~ubuntu https://download.docker.com/linux/ubuntu xenial/stable armhf Packages docker-ce 17.12.0~ce-0~ubuntu https://download.docker.com/linux/ubuntu xenial/stable armhf Packages docker-ce 17.09.1~ce-0~ubuntu https://download.docker.com/linux/ubuntu xenial/stable armhf Packages docker-ce 17.09.0~ce-0~ubuntu https://download.docker.com/linux/ubuntu xenial/stable armhf Packages docker-ce 17.06.2~ce-0~ubuntu https://download.docker.com/linux/ubuntu xenial/stable armhf Packages docker-ce 17.06.1~ce-0~ubuntu https://download.docker.com/linux/ubuntu xenial/stable armhf Packages docker-ce 17.06.0~ce-0~ubuntu https://download.docker.com/linux/ubuntu xenial/stable armhf Packages docker-ce 17.03.2~ce-0~ubuntu-xenial https://download.docker.com/linux/ubuntu xenial/stable armhf Packages docker-ce 17.03.1~ce-0~ubuntu-xenial https://download.docker.com/linux/ubuntu xenial/stable armhf Packages docker-ce 17.03.0~ce-0~ubuntu-xenial https://download.docker.com/linux/ubuntu xenial/stable armhf Packages 然后, 使用 apt-get install docker-ce=<version> 命令指定安装相应的版本, 以 18.03.1~ce-0~ubuntu 为例, 安装命令为 : root@localhost:~# apt-get install docker-ce=18.03.1~ce-0~ubuntu 5.2 Docker 基本操作 5.2.1 Docker 守护进程已安装 Docker 软件的系统, 启动时默认会启动 Docker 守护进程, 守护进程会监听 /var/run/docker.sock 这个 Unix 套接字文件, 来获取来自客户端的 Docker 请求 如果 Docker 守护进程没有启动, 运行 Docker 客户端时, 会报如下提示信息 : docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?. See 'docker run --help'. 关于 Docker 守护进程开机自启动的查询 设置, 以及手动启动 / 关闭的命令如下所示 (1) 查询 Docker 守护进程是否开机自启动 root@localhost:~# systemctl is-enabled docker.service (2) 使能 Docker 守护进程开机自启动 root@localhost:~# systemctl enable docker.service (3) 禁止 Docker 守护进程开机自启动 root@localhost:~# systemctl disable docker.service (4) 手动启动 Docker 守护进程 root@localhost:~# systemctl start docker.service (5) 手动关闭 Docker 守护进程 root@localhost:~# systemctl stop docker.service 7

(6) 手动重启 Docker 守护进程 root@localhost:~# systemctl restart docker.service 使用 docker version 命令可查看 Docker 版本, 如下所示, 正常情况下, 会输出系统当前 Docker 客户端和守护进程的版本信息 root@localhost:~# docker version Client: Version: 17.03.1-ce API version: 1.27 Go version: Git commit: go1.7.5 c6d412e Built: Mon Mar 27 17:18:59 2017 OS/Arch: linux/arm Server: Version: 17.03.1-ce API version: 1.27 (minimum version 1.12) Go version: Git commit: go1.7.5 c6d412e Built: Mon Mar 27 17:18:59 2017 OS/Arch: linux/arm Experimental: false 5.2.2 运行 hello-world 容器 hello-world 镜像是 Docker Hub Registry 上一个简单的测试镜像, 可用于快速检测 Docker 是否安装成功, 本节以运行 hello-world 镜像为例, 演示一下运行一个 Docker 镜像的过程, 其执行命令和结果如下所示 : root@localhost:~# docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world <- 本地没有 hello-world:latest 镜像 <- 从 Docker Hub Registry 上 pull hello-world 镜像 61ddb93a5f93: Pull complete Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77 Status: Downloaded newer image for hello-world:latest Hello from Docker! <- hello-world 容器运行时所输出的信息 This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (arm32v5) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. 8

To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/engine/userguide/ 如上所示, 其中 docker run 命令用于创建和启动一个容器, hello-world 是要使用的镜像, 执行结果中的第一行 : Unable to find image 'hello-world:latest' locally 说明本地没有 hello-world:latest 镜像, 于是 Docker 会在 Docker Hub Registry 上进行在线搜索, 并下载最新版本的镜像 hello-world:latest 镜像下载后,Docker 会将它转成容器并运行, 此容器运行的结果是打印 Hello from Docker! 等信息, 打印结束后退出容器 如果以后再运行 hello-world 镜像,Docker 检测本地已经存在 hello-world 镜像时, 会直接尝试将其转成容器并运行, 执行结果如下所示 root@localhost:~# docker run hello-world Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (arm32v5) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/engine/userguide/ 5.2.3 运行 ubuntu 容器为了进一步了解 Docker, 可以启动一个 ubuntu 容器, 并在容器中尝试 ubuntu 相关操作 在 Docker Hub Registry 上,Docker 公司提供了一个 ubuntu 基础镜像 ( 类似的还有 fedora debian centos 等镜像 ), 我们可以选择在此基础镜像上, 增加自己创建的模块单元, 来构建自己所需的镜像 1. 下载并启动 ubuntu 容器 9

如下所示, 使用 docker run 创建和启动一个 ubuntu 容器 其中 -h 参数用来设定容器的主机名 (hostname), 以 M6708-T 为例, 当容器启动完成后, 其命令行提示符中包含 M6708-T -i 参数使得容器中的 STDIN 是开启的,-t 参数使得容器分配一个伪 tty 终端, 这样新创建的容器才能提供一个交互式 shell 如果想创建一个运行后台服务的容器, 则不需要 -i 和 -t 参数 执行此命令后,Docker 检测到本地没有 ubuntu:lates 镜像时, 会在 Docker Hub Registry 上搜索并下载镜像, 然后将它转成容器并运行 该容器运行后会拥有自己的网络 IP 地址, 以及一个用来和宿主机进行通信的桥接网络接口, 命令中的 /bin/bash 是告诉 Docker 在此容器中要运行的命令, 本例以 /bin/bash 为例, 在容器中启动了一个 Bash shell, 如下所示 root@localhost:~# docker run -h M6708-T -i -t ubuntu /bin/bash Unable to find image 'ubuntu:latest' locally latest: Pulling from library/ubuntu <- 从 Docker Hub Registry 上 pull ubuntu 镜像 253c7c36e8ff: Pull complete fe7c768a65c7: Pull complete ba8d0d2ce80e: Pull complete 28492cd57e46: Pull complete bdfd257d89dc: Pull complete Digest: sha256:5f4bdc3467537cbbe563e80db2c3ec95d548a9145d64453b06939c4592d67b6d Status: Downloaded newer image for ubuntu:latest root@m6708-t:/# <- 容器运行后, 启动 Bash shell 接下来, 可以尝试在此容器中执行 ubuntu 的 Bash shell 相关操作, 比如 : root@m6708-t:/# hostname M6708-T root@m6708-t:/# ls / bin boot dev etc home lib media mnt opt proc root run sbin srv sys tmp usr var root@m6708-t:/# ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 2960 2220? Ss 02:06 0:00 /bin/bash root 16 0.0 0.1 4488 1820? R+ 02:51 0:00 ps -aux 2. 在容器中安装软件包由于此容器是由 ubuntu 基础镜像启动的, 很多工具是缺少的, 需要根据自己需求进行安装, 比如, 尝试使用 ifconfig 查看系统网络时, 提示无法找到此命令 : root@m6708-t:/# ifconfig bash: ifconfig: command not found 很多工具可以使用 apt 命令来安装, 由于容器需要通过桥接宿主机网卡来联网下载软件包, 所以需确保容器宿主机是联网状态 先使用 apt-get update 更新软件包列表 : root@m6708-t:/# apt-get update Get:1 http://ports.ubuntu.com/ubuntu-ports bionic InRelease [242 kb] <- 省略若干行 Get:17 http://ports.ubuntu.com/ubuntu-ports bionic-security/main armhf Packages [76.9 kb] Fetched 24.8 MB in 4min 36s (89.9 kb/s) Reading package lists... Done 安装 busybox 工具 : root@m6708-t:/# apt-get install busybox 10

Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: busybox 0 upgraded, 1 newly installed, 0 to remove and 6 not upgraded. Need to get 376 kb of archives. After this operation, 596 kb of additional disk space will be used. Get:1 http://ports.ubuntu.com/ubuntu-ports bionic/universe armhf busybox armhf 1:1.27.2-2ubuntu3 [376 kb] Fetched 376 kb in 5s (79.3 kb/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package busybox. (Reading database... 4029 files and directories currently installed.) Preparing to unpack.../busybox_1%3a1.27.2-2ubuntu3_armhf.deb... Unpacking busybox (1:1.27.2-2ubuntu3)... Setting up busybox (1:1.27.2-2ubuntu3)... 安装完成后, 就可以使用 busybox 中的任意工具了, 比如 ifconfig: root@m6708-t:/# busybox ifconfig eth0 Link encap:ethernet HWaddr 02:42:AC:11:00:02 inet addr:172.17.0.2 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::42:acff:fe11:2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:17904 errors:0 dropped:0 overruns:0 frame:0 TX packets:11424 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:26333897 (25.1 MiB) TX bytes:800453 (781.6 KiB) lo Link encap:local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) 3. 结束运行容器当容器相关操作完成时, 可执行 exit 命令结束并退出容器, 执行后, 系统会返回到宿主机的命令终端, 如下所示 : root@m6708-t:/# exit exit root@localhost:~# 5.2.4 查询容器使用 docker ps -a 命令可列出当前系统中的所有容器, 包括运行的和停止的 : 11

root@localhost:~# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7fc2b0e52f2c ubuntu "/bin/bash" 3 hours ago Exited (0) 2 minutes ago vibrant_mcclintock 4c5e8600a6ae hello-world "/hello" 3 hours ago Exited (0) 3 hours ago elastic_hypatia 由以上输出信息, 可以看到当前系统中有两个已经停止 (STATUS 为 Exited) 的容器 : ubuntu 和 hello-world 其中 NAMES 字段是 Docker 为每个容器所命的名称, 用于标识各个容器, 比如 vibrant_mcclintock 用于标识 ubuntu 容器, 在 docker 一些指令中可用 NAMES 中的名称作为参数来指定所标识的容器, 比如查询 ubuntu 容器操作日志 : root@localhost:~# docker logs vibrant_mcclintock root@m6708-t:/# hostname M6708-T root@m6708-t:/# ls bin boot dev etc home lib media mnt opt proc root run sbin srv sys tmp usr var <- 省略若干行此外,CONTAINER ID 字段也可以用于标识各个容器, 用法与 NAMES 相同 5.2.5 重新启动容器对于已经停止的容器, 可使用 docker restart 命令来重新启动, 比如重启 ubuntu 容器 : root@localhost:~# docker restart vibrant_mcclintock vibrant_mcclintock 5.2.6 删除容器如果容器已经不再使用, 可使用 docker rm 命令来删除, 比如删除 hello-world 容器 : root@localhost:~# docker rm elastic_hypatia elastic_hypatia 12

6. 免责声明 本文档提供有关产品的信息 本文档并未授予任何知识产权的许可, 并未以明示或暗示, 或以禁止发言或其它方式授予任何知识产权许可 除在其产品的销售条款和条件中声明的责任之外, 概不承担任何其它责任 并且, 对产品的销售和 / 或使用, 不作任何明示或暗示的担保, 包括对产品的特定用途适用性 适销性或对任何专利权 版权或其它知识产权的侵权责任等, 均不作担保 产品并非设计用于医疗 救生或维生等用途 可能随时对产品规格及产品描述做出修改, 恕不另行通知 工控主板可能包含某些设计缺陷或错误, 一经发现将收入勘误表, 并因此可能导致产品与已出版的规格有所差异 如客户索取, 可提供最新的勘误表 在订购产品之前, 请您与当地的销售处或分销商联系, 以获取最新的规格说明 本文档中提及的含有订购号的文档以及其它文献, 可通过访问的万维网站点获得, 网址是 : http://www.zlg.cn 或致电 +86-20-22644254 查询 Copyright 2018, ZHIYUAN Electronics Co., Ltd. 保留所有权利 13

销售与服务网络 地址 : 广州市天河区车陂路黄洲工业区 7 栋 2 楼 邮编 :510660 网址 :www.zlg.cn 全国销售与服务电话 :400-888-4005 全国服务电话 :400-888-4005 销售与服务网络 : 广州总公司 广州市天河区车陂路黄洲工业区 7 栋 2 楼 电话 :020-28267893 上海分公司 上海市北京东路 668 号科技京城东楼 12E 室 电话 :021-53865720-801 北京分公司 北京市丰台区马家堡路 180 号蓝光云鼎 208 室 电话 :010-62536178 深圳分公司 深圳市福田区深南中路 2072 号电子大厦 12 楼 1203 室 电话 :0755-82941683 0755-82907445 武汉分公司 武汉市洪山区民族大道江南家园 1 栋 3 单元 602 电话 :027-62436478 13006324181 南京分公司 南京市秦淮区汉中路 27 号友谊广场 17 层 F G 区 电话 :025-68123919 杭州分公司 杭州市西湖区紫荆花路 2 号杭州联合大厦 A 座 4 单 元 508 成都分公司 成都市一环路南 2 段 1 号数码科技大厦 319 室 电话 :028-85439836-805 电话 :0571-86483297 郑州分公司河南省郑州市中原区建设西路与百花路东南角锦绣华庭 A 座 1502 电话 :400-888-4005 (0371)66868897 重庆分公司重庆市九龙坡区石桥铺科园一路二号大西洋国际大厦 ( 百脑会 )2705 室电话 :023-68797619 西安办事处 西安市长安北路 54 号太平洋大厦 1201 室 电话 :029-87881295 天津办事处 天津市河东区津塘路与十一经路交口鼎泰大厦 1004 电话 :022-24216606 青岛办事处山东省青岛市李沧区青山路 689 号宝龙公寓 3 号楼 701 室电话 :0532-58879795 17660216799 请您用以上方式联系我们, 我们会为您安排样机现场演示, 感谢您对我公司产品的关注! 14