目录

Docker 初试

安装

本次安装的是Docker version 17.03.0-ce, build 3a232c8。基本上按照官方文档的步骤来安装就行。安装完成之后,会自动创建一个叫 docker 的群组,将当前用户加入该群组,可以方便的使用 docker。

sudo usermod -aG docker ${USER}

加入组之后,需要登出,并重新登录当前用户

最后,指定一下 registry-mirrors 并关闭 docker 对 iptables 的修改:

sudo vi /etc/docker/daemon.json
{
  "registry-mirrors": ["https://tcy9rrzz.mirror.aliyuncs.com"],
  "iptables": false
}

更新

sudo apt-get update
apt search docker # 检查 docker-ce 是否有最新版本
sudo apt-get install docker-ce # 备注:安装完成后,所有的 container 都会被自动 stop,需要手动重启

docker-enter (out of date,可以用 docker exec 取代)

# start a container
docker run --name nsenter -it ubuntu:14.04 bash

## in the docker
apt-get update
apt-get install git build-essential libncurses5-dev libslang2-dev gettext zlib1g-dev libselinux1-dev debhelper lsb-release pkg-config po-debconf autoconf automake autopoint libtool

git clone git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git util-linux
cd util-linux/

./autogen.sh
./configure --without-python --disable-all-programs --enable-nsenter
make

## from different shell - on the host
docker cp nsenter:/util-linux/nsenter /usr/local/bin/
docker cp nsenter:/util-linux/bash-completion/nsenter /etc/bash_completion.d/nsenter

Tips

这两个命令比较有用,不过不能随便用,它们都会把当前没有运行的 container 清理掉,system prune 会导致相关的 volume 也被删掉,容易造成数据被误删除。目前我感觉比较好的实践,还是在临时执行 docker run 的时候,加入 --rm 参数,这样执行完毕之后,container 及其相关的资源会被自动清理掉,比较 clean。


目前来说,仅只学会了 docker 基本命令的使用。

关于 docker-compose,尚未找到正确的打开方式。

目前为了避免数据在 container 被清理后丢失,采用的做法是: