Docker 实战--操作系统

下面介绍如何使用 Docker 安装和使用 Busybox、Debian/Ubuntu、CentOS/Fedora、CoreOS等操作系统。

Busybox

Busybox 是一个集成了一百多个最常用 Linux 命令和工具的软件工具箱,它在单一的可执行文件中提供了精简的 Unix 工具集。 Busybox 可运行于多款 POSIX 环境的操作系统中,如 Linux (包括 Android)、Hurd、FreeBSD等。

使用官方镜像

在 DockerHub 中搜索 Busybox 相关的镜像。

root@localhost:~# sudo docker search busybox

可以看到最受欢迎的镜像同时带有 officel 标记,说明它是官方镜像。
下面使用 docker pull 命令下载这个镜像。

root@localhost:~# sudo docker pull busybox

如果不指定标签信息,Docker 会下载最新版本的 Busybox 镜像。
使用 docker images 查看。

运行 Busybox

启动一个 Busybox 容器,并在容器中执行 grep 命令。

root@localhost:~# sudo docker run -it busybox
/ # grep
查看容器内的挂载信息
/ # mount

Debian/Ubuntu

Debian/Ubuntu都是目前较为流行的 Debian 系的服务器操作系统,在 Docker Hub 上都可以直接搜索到官方版本。

搜索 Debain

root@localhost:~# sudo docker search debain

搜索 Ubuntu

Ubuntu 相关的镜像有很多,使用 "-s" 参数,只搜索那些被收藏 10 次以上的镜像。

root@localhost:~# sudo docker search -s 10 ubuntu

使用 -ti 参数进入,查看 ubuntu 的版本号
root@localhost:~# sudo docker run -ti ubuntu /bin/bash
root@49efe73a6eb6:/# cat /etc/issue
Ubuntu 16.04.3 LTS \n \l
安装 curl 软件:
root@49efe73a6eb6:/# apt-get update
root@49efe73a6eb6:/# apt-get install curl
root@49efe73a6eb6:/# curl

接下来在这个镜像里再安装一个 Apache 服务:

root@49efe73a6eb6:/# apt-get install apache2
启动这个 Apache 服务,然后使用 curl 来测试本地访问:
root@49efe73a6eb6:/# service apache2 start
root@49efe73a6eb6:/# curl 127.0.0.1

如何才能从容器外部访问Apache 服务呢?
答:如果以 -ti 参数启动容器,是无法让外部设备来访问的,如果要让外部设备访问容器的话,需使用 -p 参数对外映射端口。

CentOS/Fedora

CentOS/Fedora 都是基于 Redhat 的 Linux 发行版。

搜索 Centos

root@localhost:~# sudo docker search -s 2 centos

搜索 Fedora

root@localhost:~# sudo docker search -s 2 fedora

根据搜索出来的结果,自行选择下载镜像并使用。

CoreOS

CoreOS 是一个基于 Docker 的 Linux 发行版,官方介绍了若干安装方法,笔者推荐初学者使用 VMware Workstation 来运行 CoreOS.

这里就不介绍安装 CoreOS , 大家可以直接使用 阿里云的 CoreOS系统。

小结

除了官方的镜像外,在 DockerHub 上还有许多第三方组织或个人上传的镜像。一般来说,它们各有特点,在选镜像过程中,以以下几点需要注意。

  • 官方的镜像体积都比较小,只安装了一些基本的组件。一个精简的系统有利于安全、稳定和高效地运行,也更加适合用定制一些服务。
  • 个别组织和个人上传的镜像质量也非常高。他们通常针对某个具体应用做了最精准的定位,比如下载一个包含 LAMP 组件的 Ubuntu 镜像时,DockerHub 上已经有集成镜像。
    另外,想查看下载镜像的详细信息,可以通过 docker inspect + 镜像ID 的方法来获取更多信息。
    最后,关于镜像登录的用户名和密码。出于安全考虑,几乎所有带官方标志的操作系统都无法直接使用用户名和密码直接登录,且一自选股 没有安装SSH 服务。

参考文档

《Docker 技术入门与实战》实战安例 -- 操作系统

你可能感兴趣的:(Docker 实战--操作系统)