这篇文章上次修改于 4 个月前,可能其部分内容已经发生变化,如有疑问可询问作者。
前几天看到 Arch 上的
pacman
非常的好用,但是我在安装 Manjaro 遇到了很多问题。所以就在服务器上尝试一下 Arch。使用 Docker 可以在任意 Linux 内核上运行其他 Linux 发行版。使用 Docker,可以让应用的部署、测试和分发都变得前所未有的高效和轻松!开始前的准备
我的服务器是 Ubuntu,所以首先安装 Docker。
基本命令
- 拉取 Arch 镜像。
这样就把 Arch 的存储到了本地,可以通过
docker image list
查看所有的本地镜像。- 启动一个 Docker 容器
用
docker run
启动一个 Docker 容器。在此之前了解镜像和容器之间的关系。
镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
-i
是交互模式,-t
是开始一个 tty。--name
给这个容器命名。后面紧跟着镜像名。然后将会进入 Arch 的 tty 字符终端。
除此之外,常用的参数还有
-d
后台运行。从后台进入容器的 tty 终端则可以用,
docker exec -it arch bash
arch
是之前的命名,bash
是容器内的命令。这里打开一个 shell。- 查看容器运行状态
docker ps -a
表示查看所有的容器状态。- 删除一个容器
docker rm 3dd93022c1b2
,后面的是容器的 ID,或者名字。- 停止一个容器
docker stop arch
,也是跟的 ID 或者名字。启动自然不用说了。- 保存一个容器至镜像
为什么要保存为镜像?
现在我们定制好了变化,我们希望能将其保存下来形成镜像。要知道,当我们运行一个容器的时候(如果不使用卷的话),我们做的任何文件修改都会被记录于容器存储层里。而 Docker 提供了一个 docker commit 命令,可以将容器的存储层保存下来成为镜像。换句话说,就是在原有镜像的基础上,再叠加上容器的存储层,并构成新的镜像。以后我们运行这个新镜像的时候,就会拥有原有容器最后的文件变化。
使用
docker commit
与 git commit
一样加入版本库。我们可以在 docker image ls 中看到这个新定制的镜像:
- 容器内端口映射
内部的容器是一个隔离的环境,若需要开启端口供外界访问则需要开始端口映射。
下面以 Nginx 为例。
-p
开启端口映射,外部端口:内部端口。8080:80
表示内部 80 -> 外部 8080。现在通过外部 IP 访问 8080 端口将会看到:


文章标题:
文章作者:
文章链接: [复制]
最后修改时间:
商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,未经站长允许不得对文章文字内容进行修改演绎。
本文采用创作共用保留署名-非商业-禁止演绎4.0国际许可证
亲亲留个评论再走呗
正在加载评论区...