【3】opencv裡的Mat操作
阿新 • • 發佈:2022-03-16
- 第一次使用docker,從helle world開始
- docker run hello-world
- 映象的完整寫法:[倉庫地址/]映象名[:版本號]
--help 檢視幫助
- 檢視映象
- docker image ls 或 docker images
- 查詢映象
- docker search nginx
- 拉取映象
- docker pull nginx
- 檢視映象歷史資訊
- docker image history nginx
- 檢視映象詳細資訊
- docker image inspect nginx
- 刪除無用映象
- docker image prune
- 移除映象
- docker image rm nginx
- docker rmi feb5d9fea6a5
- 打包映象
- docker image save [OPTIONS] IMAGE [IMAGE...]
- docker image save hello-world -o hello.tar
- 載入映象包
- docker image load [OPTIONS]
- docker image load -i "hello.tar"
- 給映象打標籤
- docker image tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
- docker image tag hello-world:latest hello-world:1.0
- 檢視容器
- docker ps 列出正常執行的容器
- docker ps -a 引數-a列出所有的容器
- 移除容器
- docker rm 2276a5ecfaca
- -f引數 強制刪除
- 執行容器
- docker run nginx
- docker run --name my_nginx nginx 執行一個名為my_nginx的nginx映象
- -it 互動 -d 後臺執行 --rm 容器掛掉自動移除
docker exec --help Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...] Run a command in a running container Options: -d, --detach Detached mode: run command in the background --detach-keys string Override the key sequence for detaching a container -e, --env list Set environment variables --env-file list Read in a file of environment variables -i, --interactive Keep STDIN open even if not attached --privileged Give extended privileges to the command -t, --tty Allocate a pseudo-TTY -u, --user string Username or UID (format: <name|uid>[:<group|gid>]) -w, --workdir string Working directory inside the container
- 進入容器
- docker exec -it nginxtest bash
- nginxtest 容器名稱或容器ID
- exit 退出容器
docker commit --help
Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
Create a new image from a container's changes
Options:
-a, --author string Author (e.g., "John Hannibal Smith <[email protected]>")
-c, --change list Apply Dockerfile instruction to the created image
-m, --message string Commit message
-p, --pause Pause container during commit (default true)
- 通過容器生成一個新的映象
- docker commit -m 'this is test' mynginx my_nginx
# docker push --help
Usage: docker push [OPTIONS] NAME[:TAG]
Push an image or a repository to a registry
Options:
-a, --all-tags Push all tagged images in the repository
--disable-content-trust Skip image signing (default true)
-q, --quiet Suppress verbose output
將映象推送到遠端倉庫
- 首先需要一個帶倉庫地址的映象
- docker commit -m 'this is test' mynginx repositoryname/my_nginx:1.0
- 然後登入docker.hub賬號
- docker login
- 最後就可以推送到自己的docker.hub遠端倉庫
- docker image push repositoryname/my_nginx:1.0
埠對映
- docker run --name my_nginx --rm -p 8080:80 nginx
- -p 8080:80 埠對映 8080-宿主機埠 80-容器端埠 nginx-執行的映象 --name 給容器起名 my_nginx 容器名稱
- 這樣我們就可以在外部使用 ip+埠訪問 容器my_nginx
資料卷掛載
- docker run --name my_nginx --rm -d -v /root/test1:/root/test1 nginx
- 將目錄test1資料夾掛載到容器的test1資料夾下 這樣即使容器被銷燬了容器裡的檔案也會儲存在我們的宿主機上
//使用exec命令進入容器
[root@iZuf620p8rsr3faul3zsx6Z ~]# docker exec -it my_nginx bash
root@a87e160ee875:/# ls
bin dev docker-entrypoint.sh home lib64 mnt proc run srv tmp var
boot docker-entrypoint.d etc lib media opt root sbin sys usr
root@a87e160ee875:/# cd /root/
root@a87e160ee875:~# ls
test1
root@a87e160ee875:~# cd tst1
bash: cd: tst1: No such file or directory
root@a87e160ee875:~# cd test1
//進入test1 資料夾我們可以看到test1資料夾裡的內容和宿主機test1資料夾的內容是一樣的
root@a87e160ee875:~/test1# ls
1.txt 2.txt b.txt
//在容器種建立一個新的檔案
root@a87e160ee875:~/test1# touch a.txt
root@a87e160ee875:~/test1# echo aaaaawqewqewq > a.txt
root@a87e160ee875:~/test1# ls
1.txt 2.txt a.txt b.txt
root@a87e160ee875:~/test1# cat a.txt
aaaaawqewqewq
root@a87e160ee875:~/test1# exit
exit
[root@iZuf620p8rsr3faul3zsx6Z ~]# cd test1
//退出容器 在宿主機中可以看到一樣的檔案 內容也是一樣的
[root@iZuf620p8rsr3faul3zsx6Z test1]# ls
1.txt 2.txt a.txt b.txt
[root@iZuf620p8rsr3faul3zsx6Z test1]# cat a.txt
aaaaawqewqewq