既然是家用的Docker那就不上Rancher了,直接通过Portainer轻量化解决所有问题。还好最新的Portainer还是很人性化的,搭建也比较简单,说白了原理就是直接通过宿主机的Docker进行同调(这个可以通过下面的启动语句得知)。
- 先创建挂载目录portainer_data
sudo docker volume create portainer_data
(其实还可以有其他的做法,只不过这里为了方便先设定了volume而已),创建之后可以通过
sudo docker inspect portainer_data
查看具体挂载的信息,其中可以包括挂载的路径,如下图:
- 之后可以通过语句启动Portainer
sudo docker run \
--name portainer \
--network micnetwork \
--ip 192.20.0.12 \
-p 9000:9000 \
-p 9443:9443 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
--restart always \
-d portainer/portainer-ce:latest
其实在使用这段命令启动portainer之前还需要创建一个自定义网络micnetwork,我这边创建的micnetwork网络网段是192.20.0.0/16,因此这里使用的IP为192.20.0.12。
由于没有下载Portainer镜像,所以在启动前会先对镜像进行下载,如下图:
关于上图语句说明:
-
使用Docker自定义网络micnetwork并设定固定IP(192.20.0.12),开放两个端口http的是9000,https的是9443。
-
portainer_data主要是挂载Portainer中的数据文件,这个不是指具体的文件系统目录,而是Docker的Volume。而docker.sock也要公开出来挂载到Portainer容器内部让Portainer能够顺利读取它才能够展示Docker信息的。
-
Portainer将采用自动重启的模式来发布的。
启动了之后就可以通过http://${ip}:9000在浏览器访问了,至此Portainer也搭建完