錯誤命令: 下面的方式,啟動容器時,-d 後面跟一個指定容器ID的引數寫在前面,導致容器不能正常啟動,出現異常
docker run --name testnginx -d 7f0fd59e0094 -p 8080:80
問題演示如
先刪除該容器,
docker rm testnginx
解決辦法: 將 -d 容器id的引數放在最後面即可
docker run --name testnginx -p 8080:80 -d 7f0fd59e0094
至於為什麼,不知道原因,還請大佬指教。
測試結果如下,
mkdir -p /opt/u01/exam/nginx/{conf.d,log}
docker cp testnginx:/etc/nginx/nginx.conf /opt/u01/exam/nginx/nginx.conf
docker cp testnginx:/etc/nginx/conf.d/ /opt/u01/exam/nginx/conf.d/
docker cp testnginx:/usr/share/nginx/html/ /opt/u01/exam/nginx/
注意路徑: 第二個命令有/,第三個命令路徑沒有html字尾,否則路徑字尾就會多一級,如下圖所示,出現問題。
停止原來的容器
docker stop testnginx
刪除原來的容器
docker rm testnginx
重新啟動容器
docker run --name testnginx -p 8080:80 \
-v /opt/u01/exam/nginx/html:/usr/share/nginx/html \
-v /opt/u01/exam/nginx/conf.d:/etc/nginx/conf.d \
-v /opt/u01/exam/nginx/log:/var/log/nginx \
-v /opt/u01/exam/nginx/nginx.conf:/etc/nginx/nginx.conf \
-d 7f0fd59e0094 \
nginx
暫時沒有跑起來,自己也收穫很多,認識到docker技術的博大精深,還有待好好學習。有發現問題的大佬還請指教一二。