docker镜像与容器的关系
容器为镜像的实例

docker官网:https://hub.docker.com/

查看docker版本,确认docker已正确安装

$ docker --version

Docker version 18.09.2, build 6247962

1.查看images(镜像)

$ docker images

拉取一个ubuntu images

$ docker pull ubuntu

默认拉去最新版本的ubuntu镜像,当然也可以指定ubuntu

$ docker pull ubuntu:16.04

「:」之后的数字为镜像版本;拉取成功后该数字即为镜像的tag(标签):lastest、16.04

2.进入ubuntu镜像

首先查看我们的拉取的镜像:

$ docker images

输出:

REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
ubuntu                     latest              7698f282e524        6 days ago          69.9MB
ubuntu                     16.04               2a697363a870        6 days ago          119MB

ubuntu即为我们刚拉取的镜像,继续执行:
$ docker run -i -t ubuntu

若TAG不是latest,需要带上TAG:
$ docker run -i -t ubuntu:16.04

-i:以交互模式运行容器,通常与 -t 同时使用
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用

成功进入Ubuntu终端

3.安装 nvm 与 node

更新apt:

$ apt-get update

安装nvm,参考我之前的文章:node版本管理工具 nvm 介绍与安装使用

4.退出docker,并commit

退出ubuntu终端
$ exit

此时在原先系统终端中,输入:

$ docker ps -l

查看刚才操作的容器:

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
4220da92967f        ubuntu:16.04        "/bin/bash"         40 minutes ago      Exited (0) 39 minutes ago                       youthful_ptolemy

提交:

$ docker commit -m "add nvm" -a "author" 4220da92967f ubuntu/nvm:node

$ docker images 查看刚才的提交

5.删除容器、镜像

删除容器:$ docker rm <CONTAINER ID>
删除镜像:$ docker rmi <IMAGE ID>


liaoxinyu
35 声望5 粉丝

前端开发.