02_docker


docker cmdlines

# 1个镜像可以开启多个容器
# 容器开启
sudo docker ps # 查看所有运行的容器
sudo docker ps -a # 查看所有容器
sudo docker start/stop CONTAINER_ID

# 进入容器
sudo docker exec -it b7d61cb68606 /bin/bash

# CONTAINER_ID
b7d61cb68606 是ncnn

# 删除容器
sudo docker rm CONTAINER_ID

# 删除镜像
sudo docker rmi IMAGE_ID

# run
docker run -itd --gpus all --name 容器名 -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all 镜像名
eg:
sudo docker run -itd --gpus all -p 6000:6006 -v /home/jet:/home/jet --name fer -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all e47f51e54fe4

# 加了-d表示容器退出会在后台运行,也就是容器中数据暂时保留
# 加了--rm 表示容器退出后容器消失,容器中数据改动会消失

# exec
sudo docker exec -it fer /bin/bash

docker run运行shell

docker run -it --rm -p 6006:6006 --name fer_test  --gpus all -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all lighting_fer:2.0 /bin/bash -c "cd /home/fer_infer_in_server && ./run_server.sh" 

image-20230109173503408

查看ip

docker inspect <container id> 或者进入docker输入 ifconfig
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

权限

image-20230109173542608

image-20230109173544897

docker run -itd --gpus all -p 6002:6002 -v /home/lee-jet:/home/lee-jet --name face -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all --privileged d70623609f8a 

查看容器占用磁盘大小

docker system df
docker system df -v   

Dockerfile

image-20230109173638106

image-20230109173648043


文章作者: Lee Jet
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Lee Jet !
评论
  目录