docker 学习(2)

docker容器中安装vim

ubuntu 中默认未装vim,docker run ubuntu vim

出现:

container_linux.go:247: starting container process caused "exec: "vim": executable file not found in $PATH"
docker: Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused "exec: \"vim\": executable file not found in $PATH" ".

我的做法是启动一个镜像,像ubuntu一样执行

sudo docker run -t -i ubuntu /bin/bash

root@0b2616b0e5a8:/#       这一串就是容器ID

首先更新源     apt-get update

然后安装vim   apt-get install vim          也可以安装其他软件

最后退出         exit或者ctrl-d

现在我们的容器已经被我们改变了,使用 docker commit 命令来提交更新后的副本,返回新的镜像号

$ sudo docker commit 0b2616b0e5a8 ubuntu/vim

4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c

使用 docker images 来查看新创建的镜像,之后就可以使用新的镜像来启动容器,这时候就可以在容器中使用vim了

可以利用 docker start 命令,直接将一个已经终止的容器启动运行。

可以使用 docker stop 来终止一个运行中的容器。

下面的命令输出一个 “Hello World”,之后终止容器。

$ sudo docker run ubuntu /bin/echo 'Hello world'

Hello world

这跟在本地直接执行 /bin/echo 'hello world' 几乎感觉不出任何区别。

下面的命令则启动一个 bash 终端,允许用户进行交互。

$ sudo docker run -t -i ubuntu /bin/bash

root@af8bae53bdd3:/#

其中,-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上, -i 则让容器的标准输入保持打开

Docker提供了attach命令来进入Docker容器。

然后我们使用docker ps查看到该容器信息,接下来就使用docker attach进入该容器

docker attach 44fc0f0582d9

 

docker import 和docker export  导入、导出容器

docker rm 来删除一个处于终止状态的容器如果要删除一个运行中的容器,可以添加 -f 参数。也可以先stop再rm

docker rmi 移除镜像在删除镜像,注意之前要先用 docker rm 删掉依赖于这个镜像的所有容器。

 

官方建议的批量删除停止容器使用docker rm $(sudo docker ps -a -q)

docker ps -a -q  的意思是列出所有容器的数字id

千万不要用 docker rm -f $(sudo docker ps -a -q),会删除全部容器的,不过我们练习的时候可以用,方便

参考博客 :http://blog.csdn.net/yxgxy270187133/article/details/48492937

原文地址:https://www.cnblogs.com/home123/p/7989915.html