runsisi's

technical notes

非安装包形式安装使用 docker

2019-09-12 runsisi#docker

理想情况下,我们在一个物理节点只会安装一个软件包,但是很多时候,我们提供的服务都需要与其它组件共存,我们不能假设客户机器上有什么或者没有什么,因此几乎所有 Linux 发行版所引以为傲的包管理系统在生产环境的部署实际上都是彻彻底底的噩梦。显然,容器运行时也是一样,如果我们在产品中直接使用发行版的 docker,很多时候都会和别的组件产生冲突(别的组件可能需要定制的版本,可能要求特定的版本),因此重新打包,或者直接使用可执行程序显得特别重要。

Golang 的加持,让 docker 真正做到了开箱即用:

$ sudo groupadd docker
$ sudo gpasswd -a runsisi docker
Adding user runsisi to group docker

注意将用户加入 docker 用户组之后,需要退出当前终端生效。

$ wget https://download.docker.com/linux/static/stable/x86_64/docker-19.03.2.tgz
$ tar xvzf docker-19.03.2.tgz
$ sudo su
# export PATH=$PWD/docker:$PATH
# export PATH=$PWD/docker:$PATH
# ./dockerd -D
$ export PATH=$PWD/docker:$PATH
$ docker info
$ docker pull alpine

参考资料

Install Docker Engine - Community from binaries

https://docs.docker.com/install/linux/docker-ce/binaries/

Install docker from binary distribution

http://weng-blog.com/2017/02/docker-binary-install/

How can I use docker without sudo?

https://askubuntu.com/questions/477551/how-can-i-use-docker-without-sudo

rhel7 k3s start not working with containerd - failed to find snapshotter overlayfs

https://github.com/rancher/k3s/issues/495

Use the OverlayFS storage driver

https://docs.docker.com/storage/storagedriver/overlayfs-driver/