Docker 新手注意事项

D

写在前面

当你对某一事物缺乏了解和认识时,就很有可能会犯错。
老猪我想通过这篇文章,让刚刚接触 docker 的朋友们少走一些弯路,安装应用不再那么磕磕绊绊的。

注意事项

  • 请以/xxx/.../应用名称/子目录名称的命名规则存放应用的数据

    有些朋友的应用数据存放路径五花八门,这样非常不利于后期的维护
    老猪我在这里提供一个思路,假设安装 portainermariadb 两个应用。
    安装 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 时遇到问题,也欢迎在下面留言给我。

0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论
By 马丁龙猪

标签

归档

其他操作