docker 操作手册(二)进阶选项
端口映射
# docker run --name warp -p 8080:8080 -it -d ubuntu
087d0c3227c569e07a36958dae2ce08c1616576b3b7531000e220f6ec0ad9eb7
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
087d0c3227c5 ubuntu "/bin/bash" 22 seconds ago Up 21 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp warp
禁用网络隔离 --network="host"
例如,容器需要访问宿主机上的数据库服务时,则可在创建容器时使用该选项:--network="host"
docker run -d -p 37000:37000 --network="host" docker.io/sp5429/qgis-server-x64:3.22
目录挂载 --mount或-v
docker run -d -p 37000:37000 --mount type=bind,source=/root/mct/store,target=/root/mct/store --network="host" docker.io/sp5429/qgis-server-x64:3.22
版本低,使用-v挂载目录
docker run -d -p 37000:37000 -v /root/mct/store:/root/mct/store --network="host" docker.io/sp5429/qgis-server-x64:3.22
无法启动,换镜像为v2-37000
挂载的目录无权限
docker run -d -p 37000:37000 -v /root/mct/store:/root/mct/store -u $(id -u):$(id -g) --network="host" --name qgis docker.io/sp5429/qgis-server-x64:v2-37000
docker run -d -p 37000:37000 -v /root/mct/store:/root/mct/store:rw --network="host" --name qgis docker.io/sp5429/qgis-server-x64:v2-37000
docker run -d -p 37000:37000 -v /root/mct/store:/root/mct/store:rw --network="host" --name qgis --privileged=true docker.io/sp5429/qgis-server-x64:v2-37000
父级目录也要修改权限
特权 --privileged=true
使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。
--ipv6=false
docker run -d --ipv6=false -p 37000:37000 -v /root/mct/store:/root/mct/store:rw --network="host" --name qgis --privileged=true docker.io/sp5429/qgis-server-x64:v2-37000
如果版本低,不支持的选项,则:
sysctl net.ipv6.conf.all.disable_ipv6=1
docker start qgis