Docker 容器鏡像刪除
docker commit了一個鏡像之后想刪除舊的鏡像,出現以下報錯
Error response from daemon: conflict: unable to delete 6f8214d56bfc (cannot be forced) - image has dependent child images
解決思路:
docker save保存容器
docker images
docker save REPOSITORY > XX.tar
刪除鏡像容器
docker ps -a
docker rm CONTAINER ID
docker images
docker rmi IMAGE ID
最后再導入回去
docker load < XX.tar
1.停止所有的container,這樣才能夠刪除其中的images:docker stop $(docker ps -a -q)如果想要刪除所有container的話再加一個指令:docker rm $(docker ps -a -q)2.查看當前有些什么imagesdocker images3.刪除images,通過image的id來指定刪除誰docker rmi <image id>想要刪除untagged images,也就是那些id為<None>的image的話可以用docker rmi $(docker images | grep "^<none>" | awk "{print $3}")要刪除全部image的話docker rmi $(docker images -q)
?
docker:安裝mysql多個
文章來源:https://www.cnblogs.com/hello-tl/p/9238298.html 1.首先安裝docker參照一下網址安裝dockerdocker:安裝 https://www.cnblogs.com/hello-tl/p/8901132.html參照安裝一個mysqldocker:安裝mysql https://www.cnblogs.com/hello-tl/p/9234429.html2.創建文件
# mkdir /data
# mkdir /data/mysql
# mkdir /data/mysql/data5.6
# mkdir /data/mysql/data5.7
# mkdir /data/mysql/data8.0
3.添加鏡像
# docker pull mysql:5.6
# docker pull mysql:5.7
# docker pull mysql:8.0
4.啟動鏡像
# docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name mysql5.6 --restart always -v /data/mysql/data5.6:/var/lib/mysql -p 3306:3306 mysql:5.6
# docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name mysql5.7 --restart always -v /data/mysql/data5.7:/var/lib/mysql -p 3307:3306 mysql:5.7
# docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name mysql8.0 --restart always -v /data/mysql/data8.0:/var/lib/mysql -p 3308:3306 mysql:8.0
5.打開端口
//開啟防火墻
# systemctl start firewalld
//開啟3306端口
# firewall-cmd --zone=public --add-port=3306/tcp --permanent
//開啟3307端口
# firewall-cmd --zone=public --add-port=3307/tcp --permanent
//開啟3308端口
# firewall-cmd --zone=public --add-port=3308/tcp --permanent
//重啟防火墻
# systemctl restart firewalld.service
6.本地連接測試7.如果mysql是 8 版本以上應該會出一下錯誤連接Docker啟動的mysql出現:ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: ?ò2?μ????¨μ??£?é?£解決方案1.進入mysql容器docker exec -it mysql /bin/bash2.進入mysqlmysql -uroot -p1234563.修改密碼ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';文章來源:https://www.cnblogs.com/hello-tl/p/9238298.html LINUX 簡單的,但只有天才才能知道他的簡單
?
?
docker images : 列出本地鏡像
docker pull : 從鏡像倉庫中拉取或者更新指定鏡像docker run :創建一個新的容器并運行一個命令
-d: 后臺運行容器,并返回容器ID
-p: 端口映射,格式為:主機(宿主)端口:容器端口
--name="nginx-lb": 為容器指定一個名稱
-v:目錄映射,格式為:主機目錄:容器目錄docker rm :刪除一個或多個容器
docker start :啟動一個或多少已經被停止的容器
docker stop :停止一個運行中的容器
docker kill :殺掉一個運行中的容器(強制)
docker restart :重啟容器
docker port :列出指定的容器的端口映射,或者查找將PRIVATE_PORT NAT到面向公眾的端口。docker logs : 獲取容器的日志
-f : 跟蹤日志輸出
--since :顯示某個開始時間的所有日志
-t : 顯示時間戳
--tail :僅列出最新N條容器日志docker exec -i -t mynginx /bin/bash:在容器mynginx中開啟一個交互模式的終端,即通過SSH協議進入容器docker ps : 列出容器
-a :顯示所有的容器,包括未運行的。docker cp:拷貝主機docker cp /www/runoob 96f7f14e99ab:/www/
?