docker方式運行SRS

步驟:
(1)docker鏡像用docker-hub官方的:

docker pull ossrs/srs:3
1
(2)然後用命令啓動容器:

docker run -d -p 1935:1935 -p 1985:1985  -v /usr/local/srs/conf/srs.conf:/usr/local/srs/conf/srs.conf -v /usr/local/srs/objs/srs.log:/usr/local/srs/objs/srs.log ossrs/srs:3
1
結果報錯了:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"/usr/local/srs/conf/srs.conf\\\" to rootfs \\\"/var/lib/docker/overlay2/40fa56e129efeaaaba1f320949ccab4ed06635328cadc46bba76ce6863c14ef7/merged\\\" at \\\"/var/lib/docker/overlay2/40fa56e129efeaaaba1f320949ccab4ed06635328cadc46bba76ce6863c14ef7/merged/usr/local/srs/conf/srs.conf\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.

看上面報錯是因爲掛載目錄報錯了,把掛載的目錄去掉再試試:

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

這樣啓動成功了,並返回了容器的ID。

然後再解決srs.conf掛載的問題(2050f663ee02是容器ID,容器ID可用docker ps命令進行查詢):
將srs/objs/目錄下面已經生成的srs.log目錄刪除。

cd /usr/local/srs/conf
docker cp 2050f663ee02:/usr/local/srs/conf/srs.conf .
cd /usr/local/srs/objs
docker cp 2050f663ee02:/usr/local/srs/objs/srs.log .
將啓動的容器刪除掉:
docker rm -f 2050f663ee02
然後再重新啓動:
docker run -d -p 1935:1935 -p 1985:1985  -v /usr/local/srs/conf/srs.conf:/usr/local/srs/conf/srs.conf -v /usr/local/srs/objs/srs.log:/usr/local/srs/objs/srs.log ossrs/srs:3

這次就啓動成功了:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章