文章目录
写在前面
当你对某一事物缺乏了解和认识时,就很有可能会犯错。
老猪我想通过这篇文章,让刚刚接触 docker 的朋友们少走一些弯路,安装应用不再那么磕磕绊绊的。
注意事项
-
请以
/xxx/.../应用名称/子目录名称
的命名规则存放应用的数据有些朋友的应用数据存放路径五花八门,这样非常不利于后期的维护
老猪我在这里提供一个思路,假设安装portainer
和mariadb
两个应用。
安装portainer
需要创建的子目录有data
安装mariadb
需要创建的子目录有etc
data
for Linux:
/opt/docker/portainer/data /opt/docker/mariadb/etc /opt/docker/mariadb/data
for 群晖 NAS:
# /volume1/docker 是群晖 docker 套件默认创建的数据存放目录 /volume1/docker/portainer/data /volume1/docker/mariadb/etc /volume1/docker/mariadb/data
-
创建应用的数据目录时确保读写权限正确
有些朋友安装的 docker 不是以
ROOT
身份运行的,而创建应用数据目录时却又使用ROOT
身份,于是 docker 应用因为没有读写权限而陷入无限重启。我是小白,我怎么知道 docker 是以什么身份运行的?
运行以下命令并查看运行结果第一列
ps -ef |grep -i dockerd |grep -v grep
运行结果:
root 1597 1 0 5月15 ? 00:06:59 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
为什么我执行这个命令查不到东西?
在某些设备上的 docker 进程可能使用其它名称,例如群晖
DS918+
可以使用以下命令查询ps -ef |grep -i docker |grep -v grep
运行结果:
root 21790 1 0 May21 ? 00:00:00 /var/packages/Docker/target/termd/termd -d
如果 docker 以非
ROOT
身份运行,例如身份是docker
,如何修改应用的数据目录权限?以
ROOT
身份运行以下命令chown docker -R '应用的数据目录'
写在最后
本文会不断更新,收录更多需要新手注意的问题,建议收藏。
如果你在使用 docker 时遇到问题,也欢迎在下面留言给我。