参考
http://www.open-open.com/lib/view/open1423703640748.html
启动docker镜像
sudo docker run -i -t ubuntu:16.04 /bin/bash
-i 表示STDIO -t 表示tty
无法执行ifconfig
因为是基础镜像,需要安装net-tools, 最好先update,不然会出现找不到net-tools安装包
apt-get update & apt-get install net-tools
docker ps
-a 列出所有的容易列表
-l 最后一次
无参数,当前运行的容器
容器命名
每次docker run的时候,系统会自己分配一个名称。用户也可以自定义容器名称。
docker run --name xxxx -i -t ubuntu:16.04 /bin/bash
附着在docker中
可以使用docker start来启动一个镜像,但是处于后台,所以重新回到CMD,需要使用
docker attach name/id
守护式容器
添加参数 -d 让容器在后台运行
使用 docker top name 查看name容器内的进程
启动新的进程docker exec
使用 docker exec -d 启动后台执行的进程
使用 docker exec -i -t name /bin/bash 启动后台交互式的进程
自动重启
添加参数--restart=always or on-failure=n
如果使用always表示一直重启容器
使用on-failure表示只有退出不是0的时候,会重启n次
构建镜像
使用docker commit 和 docker build+dockerfile
docker commit:
启动docker 镜像之后正常操作安装app,然后exit退出docker镜像,执行
docker commit name/id reg/image OR docker commit -m "xxx" --author="dchang" reg/image:tag
eg: docker commit -m "add vim" af39adcfb1b7 dchang/ubuntu1:vim
af39adcfb1b7 为运行该image的container的id