docker 啟動容器時 有時候需要掛載文件,注意不是掛載目錄。
有時候啟動容器,例如 啟動 nginx 或 mysql 需要掛載一個文件,docker應該不推薦這么做的。
例如 ,直接執行如下命令 ,是會報錯的。
docker run -p 3306:3306 --restart=always --privileged=true --name mysql -v /opt/mysql/data:/var/lib/mysql -v /opt/mysql/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD="123456" -d mysql:5.7
執行完后,宿主機/opt/mysql/下會有my.cnf的目錄,而我們顯然掛載的是一個my.cnf配置文件。
這個時候把宿主機my.cnf 這個目錄刪掉,重現建一個文檔 my.cnf 再次執行啟動命令就可以掛載了,相似的情況還有 nginx.conf 。