一、docker的自启动

vim /etc/profile.d/start_docker.sh

# docker.service
#!/bin/sh
sudo systemctl enable docker
sudo systemctl start docker

将脚本放置在/etc/profile.d目录下,修改成root执行权限,然后输入sysv-rc-conf在界面上设置启动权限。
如果是apt安装的docker,启动脚本已经自动放置在/etc/init.d/目录下了。

二、容器重启

shutdown.sh

#!/bin/bash
docker-compose -f /docker/chevereto/docker-compose.yaml stop
docker exec -d leanote /data/shutdown.sh
docker stop $(docker ps -qa) 

start.sh

#!/bin/bash
docker-compose -f /docker/chevereto/docker-compose.yaml start   # chevereto须使用docker-compose启动
docker start database wordpress_db_1    # 数据库优先于其他容器启动
docker start $(docker ps -qa)   # 剩余的容器启动
docker exec -d leanote /data/start.sh

完整启动步骤

bash /docker/start.sh
conda activate vp
cd /Server/VisualPytorch-develop/VisualPytorch
setsid python manage.py runserver 0.0.0.0:8000
conda activate jupyter
cd /home/sunie
setsid jupyter notebook --allow-root

三、重启机器

有一天重启nextcloud容器后,出现如下错误:

您的数据目录无效 请确定在根目录下有一个名为".ocdata"的文件。 Your data directory is not writable 权限通常可以通过赋予根目录写入权限来修复。查看:https://docs.nextcloud.com/server/20/go.php?to=admin-dir_permissions。

首先查看容器数据卷的映射:



数据卷是正常的,但在该数据卷下根本没有相应的文件!经过检查,发现即使通过Xftp连接的终端上都没有相应的文件:

这是因为重启机器后挂载的磁盘都被取消了,最好的方案是重新挂载:

umount /dev/sde1
umount /dev/sdd2
mount /dev/sde1 /mnt/hgfs/G
mount /dev/sdd2 /mnt/hgfs/F