1. 程式人生 > 其它 >筆記:DOCKER相關

筆記:DOCKER相關

技術標籤:學習筆記

映象管理

看本機存在的images

docker images

刪除某個映象,引數是ImageID:

docker rmi -f 32c921902fdb

容器管理

啟動容器:

docker run -p 1935:1935 ossrs/srs:3

檢視執行中的容器:

docker ps

檢視所有容器,包括已經停止的容器:

docker ps -a

可以指定當容器退出時,自動刪除,引數--rm

docker run --rm -p 1935:1935 ossrs/srs:3

刪除已經停止的容器:

docker container prune -f

容器名稱

容器ID不好記,可以用名稱,比如:

docker run --name=srs -p 1935:1935 ossrs/srs:3

或者對已有的容器,改名字:

docker rename 80d9d451bb78 srs

根據名稱啟動容器:

docker start -i srs

或者再開一個終端:

docker exec -it srs bash

環境變數

傳遞ENV環境變數

HostIP=`./auto/get_host_ip.sh` &&
docker run -p 1935:1935 -p 9090:9090 --env DOCKER_HOST=$HostIP \
    ossrs/srs:3

Docker瘦身

如果發現自己的Docker太大,可以先把一些映象匯出,比如:

docker save ossrs/srs:3 -o srs-3.tar

刪除Docker檔案,可以選擇下面任意方式刪除Docker的磁碟檔案:

  • Reset,然後點Remove all data
  • Disk,然後點Open in Finder,直接刪除Docker.qcow2,然後重啟Docker。

Docker重啟後,匯入你要的映象,例如:

docker load -i srs-3.tar

這樣就可以將Docker佔用的臨時磁碟空間徹底瘦身。

拷貝檔案

可以將容器的檔案拷貝出來,先啟動容器,比如SRS的dev映象:

docker run -it --name=dev ossrs/srs:dev bash

從容器中拷貝FFmepg,比如:

docker cp dev:/usr/local/bin/ffmpeg .

埠對映

對映1935埠給SRS:

docker run -p 1935:1935 --rm ossrs/srs:3

對映TCP/1935,以及UDP/8000埠給SRS:

docker run -p 1935:1935 -p 8000:8000/udp --rm ossrs/srs:3

對映一系列埠,比如5000到6000埠:

docker run -p 50000-50010:50000-50010 --rm ossrs/srs:3

注意:不能對映太多埠,會有效能問題。

對映多個埠,TCP/1935和1985,UDP/8000埠給SRS:

docker run -p 1935:1935 -p 1985:1985 -p 8000:8000/udp --rm ossrs/srs:3

對映目錄

可以將本機的目錄,對映到容器中,比如SRS的DEV開發環境:

cd srs/trunk &&
docker run -v `pwd`:/srs -w /srs -p 1935:1935 -it --rm ossrs/srs:dev bash

這樣,就可以在CentOS容器中,編譯本機的檔案,本機也可以開啟IDE編輯。

開除錯特權

如果在容器中要啟動gdb除錯,那麼就要開特權--privileged,比如除錯SRS:

cd srs/trunk &&
docker run --privileged -v `pwd`:/srs -w /srs -p 1935:1935 -it --rm ossrs/srs:dev bash

這樣就可以在容器中,使用GDB除錯SRS了。