Docker命令
命令格式
docker info 查看docker信息
docker 命令 --help 查詢使用方法和參數
docker命令的格式:docker 具體命令 參數
鏡像
image 查看鏡像
docker image ls或者docker images 查看已有的鏡像
docker image prune 刪除虛懸鏡像(虛懸鏡像:當 docker pull和docker build導致重名后之前的鏡像鏡像名變為none,虛懸鏡像可以使用docker image ls -f dangling=true來查看)
docker image rm 鏡像id 刪除本地鏡像或者docker rmi 鏡像id
pull 拉取鏡像:
命令:docker pull [OPTIONS] NAME[:TAG|@DIGEST]
命令標簽含義:<>必填,[]選填
docker pull 倉庫url:port/鏡像名 --從指定地址的倉庫下載鏡像
注意:其實鏡像名都應該是
服務端IP:端口/鏡像名
格式的,只不過使用官方的會幫你做所以可以省略
docker pull 鏡像名 --拉去倉庫中默認的鏡像,一般是latest版本
docker pull 鏡像名:tag --拉取指定tag的鏡像
run 運行鏡像:
命令:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
run :根據鏡像啟動新容器,也就是說即使每次都run同一個鏡像,每次跑的都是不一樣的新生成的容器。並且run參數比較多,用法也更加復雜
參數 | 用法 | 詳解 |
---|---|---|
-i | 交互式操作 | 有時-it一起使用 |
-t | 終端 | 我們這里打算進入 bash 執行一些命令並查看返回結果 |
-d | 以守護線程運行 | 進程至少有一個線程即主線程(在命令行下就是直接交互的當前線程,當不以守護線程運行,則當前線程就會被命令占用無法再輸入命令)和一個工作線程即異步工作 |
--rm | 這個參數是說容器退出后隨之將其刪除。 | 默認情況下,為了排障需求,退出的容器並不會立即刪除,除非手動 docker rm |
eg:
-
docker run -p 8080:8080 鏡像名 ---p指定端口,將docker中的8080端口(后面那個)映射到宿主機端口8080(前面那個)
-
docker run --name myshopAdmin -p 8081:8080 -v /usr/apache-tomcat-9.0.16/webapps/ROOT:/usr/local/tomcat/webapps/ROOT -d tomcat
參數解釋:-v /usr/apache-tomcat-9.0.16/webapps/ROOT:/usr/local/tomcat/webapps/ROOT:將主機中/usr/apache-tomcat-9.0.16/webapps/ROOT目錄下掛載到容器的/usr/local/tomcat/webapps/ROOT -
docker run -it --rm \
ubuntu:16.04 \
bash
這里\是linux多行輸入的操作,當命令一行無法輸出完時,可以使用空格+\來在下一行繼續輸入,輸入完成按回車執行命令。同時這里bash是在鏡像末尾的命令,即鏡像中的命令,也就是說執行鏡像中的命令
容器
ps 查看容器
docker ps :查看在運行的容器 -a 顯示所有容器默認只顯示在運行的容器
exec start
exec:進入已有的在運行的容器
docker exec -it 容器id bash :以交互式bash進入在運行的容器:eg:docker exec -it 8a1a bash
start:啟動一個已存在的容器
docker stop <容器ID> 停止容器
docker rm <容器ID> 刪除容器
docker container proune:清理所有處於終止狀態的容器
cp
將容器中的文件拷貝到宿主機中
格式:docker cp <容器名>:容器路徑 宿主機路徑
eg:docker cp docker-mysql-5.7.25:/etc/mysql/*.* ./conf/
logs
查看容器日志,命令:docker logs <容器名>
-f 如同tail的-f參數,能夠一直輸出最新的日志信息
倉庫
docker login 以用戶名/密碼的交互方式進入dockerhub
docker logout推出登陸
docker search 搜索鏡像
docker pull 拉取鏡像
docker push 向倉庫推送鏡像
本博客為Swagger-Ranger的筆記分享,文中源碼地址: https://github.com/Swagger-Ranger
歡迎交流指正,如有侵權請聯系作者確認刪除: liufei32@outlook.com