直接看第一手资料
docker指令官网:https://docs.docker.com/engine/reference/commandline/docker/
在Docker中运行特权容器很危险:https://www.4hou.com/posts/4YP2
默认情况下容器中的root用户只是host主机的一个普通用户,但如果docker run --privileged=true 就真正的给这个普通用户赋予了和host主机root用户的特权。
docker --privileged=true 参数作用
大约在0.6版,privileged被引入docker。
使用该参数,container内的root拥有真正的root权限。
否则,container内的root只是外部的一个普通用户权限。
privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。
甚至允许你在docker容器中启动docker容器。
docker run --name mysql-test --privileged=true -e MYSQL_ROOT_PASSWORD=123456 -p 9092:3306 -d daocloud.io/library/mysql:5.7.6
成功运行命令
cat /etc/sysctl.conf
docker login --username=[用户名] -p=[密码] 远程ip:端口
2:给本地镜像打标签, [远程ip:端口/自定义路径/*]:[版本号] 就是:[标签名:版本号]
docker tag [镜像id] [远程ip:端口/自定义路径/*]:[版本号]
3:推送
docker push [远程ip:端口/自定义路径/*]:[版本号]
nvidia-docker build -t image-server-milvus-grpc:1.0.0.0730 .
nvidia-docker build -t image-server-milvus-grpc:1.0.0.0730 .
nvidia-docker run -it --privileged=true --entrypoint=/bin/bash image-server-milvus-grpc:1.0.0.0730
echo 'net.ipv4.tcp_keepalive_time=600' >> /etc/sysctl.conf
echo 'net.ipv4.tcp_keepalive_intvl=30' >> /etc/sysctl.conf
echo 'net.ipv4.tcp_keepalive_probes=9' >> /etc/sysctl.conf
sysctl -p
docker commit 4f4af16d3eaa image-server-milvus-grpc-new:1.0.0.0730
docker tag image-server-milvus-grpc-new:1.0.0.0730 xx/image-server-milvus-grpc-new:1.0.0.0730
docker login -u xx -p xx xx.net
docker push xx/image-server-milvus-grpc-new:1.0.0.0730
cd /data/mart/12345/deploy/docker_server
nvidia-docker build -t image-client-milvus-grpc:1.0.0.0730 .
nvidia-docker run -it --privileged=true --entrypoint=/bin/bash image-client-milvus-grpc:1.0.0.0730
echo 'net.ipv4.tcp_keepalive_time=600' >> /etc/sysctl.conf
echo 'net.ipv4.tcp_keepalive_intvl=30' >> /etc/sysctl.conf
echo 'net.ipv4.tcp_keepalive_probes=9' >> /etc/sysctl.conf
sysctl -p
docker commit ad37fc5edb9c image-client-milvus-grpc-new:1.0.0.0730
docker tag image-client-milvus-grpc-new:1.0.0.0730 xx:1.0.0.0730
docker login -u xx -p xx xx
docker push xx/image-client-milvus-grpc-new:1.0.0.0730
FROM xx/image-server-milvus-grpc-new:1.0.0.0730
COPY . /deploy
WORKDIR /deploy
RUN pip3.7 install -r requirements.txt \
&& python3.7 paddle_model.py
ENTRYPOINT python3.7 web_service.py
FROM xx/image-client-milvus-grpc-new:1.0.0.0730
COPY . /deploy
WORKDIR /deploy
RUN pip3.7 install -r requirements.txt
ENTRYPOINT ["gunicorn", "-c", "gunicorn_cfg.py", "main_api:app"]
解决方案参考:https://blog.csdn.net/qq_15821487/article/details/125885828?spm=1001.2014.3001.5502