Docker随笔

2017-01-04  本文已影响13人  dchang

参考

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

测试一下

上一篇 下一篇

猜你喜欢

热点阅读