A ProtocolObject must begin with '{' at character 1 of ?{
阿新 • • 發佈:2022-11-30
1. 映象命令
1.1 檢視本地映象
1.1.1 docker images
1.1.2 docker image ls
1.2 下載映象
docker pull 名字
1.3 刪除映象
1.4 搜尋映象
1.4.1 docker search 名字
引數--filter
-
利用:如下顯示stars不低於100的映象
docker search centos --filter=stars=100
1.5 構建映象
1.5.1 根據執行中的容器生成新的映象
-
原理:是將容器執行時的讀寫層變為只讀層,作為映象的一個新層
-
使用過程:
-
通過已經映象執行容器,進入容器內
docker run -it --name mycentos8 centos:centos8 /bin/bash
-
進入容器修改相關內容,比如新增某個軟體或者某個功能
-
通過docker commit提交修改生成映象
docker commit -m "Add openssh server" -a "hwadee" -c "EXPOSE 22" --change='CMD ["/sbin/sshd","-D"]' 3ce01aadf05e centos8:ssh
- -m: 提交的描述資訊
- -a: 指定映象作者
- e218edb10161:容器 ID
- runoob/ubuntu:v2: 指定要建立的目標映象名
-
使用新映象生成容器或測試
docker run -itd -p 2222:22 centos8:ssh
-
將新映象push到容器倉庫
-
-
缺點:製作的透明性較差,如果多次修改可能會分層較多導致映象臃腫,
體積較大,影響執行效率。一般不推薦使用。
1.5.2 通過Dockerfile來製作映象
詳細連結:https://www.jianshu.com/p/eb4064392b3e
2. 容器命令
2.1 檢視容器:docker ps
預設是檢視執行中的容器
-
-a:檢視所有狀態的容器
docker ps -a
-
-q:只檢視容器的ID
docker ps -q
2.2 執行容器:docker run
命令格式
docker run -引數 映象名:tag 命令
如果映象名是唯一的,不指定tag也可以
-
如下是使用ubuntu映象啟動容器,並且進入互動式介面
docker run -it ubuntu /bin/bash
- -i:互動式操作
- -t:終端
-
如下是在上述的基礎上後臺執行容器
docker run -itd ubuntu /bin/bash
- -d:Run container in background and print container ID
2.3 停止容器:docker stop
-
使用:
docker stop 容器ID
2.4 重啟容器:docker restart
-
使用:
docker restart 容器ID
2.5 進入容器
2.5.1 docker attach
-
使用:
docker attach 容器ID
-
缺點:如果從這個容器退出,會導致容器的停止
2.5.2 docker exec
-
命令格式:
docker exec -it 容器ID /bin/bash
2.6 匯出容器:docker export
-
使用:
docker export 容器ID > xxx.tar
2.7 匯入容器:docker import
-
使用:
cat docker/xxx.tar | docker import - xxx:v1
此外,也可以通過指定的URL來匯入
docker import http://example.com/exampleimage.tgz example/imagerepo
-
然後進行拷貝 ,注意:執行docker命令時一定要退出容器,否則報錯
從容器中拷出來是一樣的,docker cp 後面的位置調換一下即可
// docker cp 本地路徑 容器長ID:容器路徑
//Docker CP local path container long ID: container path
docker cp /usr/local/test.txt 38ef22f922704b32cf2650407e16b146bf61c221e6b8ef679989486d6ad9e856:/usr/local/tomcat/webapps test.txt
docker cp /usr/local/test.txt 38ef22f922704b32cf2650407e16b146bf61c221e6b8ef679989486d6ad9e856:/usr/local/tomcat/webapps test.txt
2.8 檢視容器埠情況
-
使用:
docker port 容器ID
3.容器內命令
3.1 檢視容器內web日誌
-
使用:
docker logs -f 容器ID
3.2 檢視容器內部執行的程序
-
使用:
docker top 容器ID
3.3 檢視Docker的底層資訊
-
使用:
docker inspect 容器ID