Docker 学习笔记

docker pull nginx                   获取镜像

docker images                       查看所有镜像

docker exec -it f6ds bash      进入镜像

docker ps                               查看运行的容器

docker run -p 81:81 nginx     运行镜像

docker  rmi image_id             删除镜像

docker rm -f  container_id      删除容器, 并不会删除镜像

 docker build -t m2 .               根据当前目录的Dockerfile 创建镜像

docker search nvidia              搜索镜像

docker commit 0bd6598d2a88 tensorflow-2.1-gpu   将正在运行的容器保存为镜像

docker container ls -a    docker 查看隐藏的容器

docker run  --gpus all -it           运行带GPU的docker

docker 映射主机文件夹 : -v /usr/webapps/app1:/usr/local/tomcat/webapps 

使用ssh 登录docker : 

  • 以端口映射的方式登录容器: -p 5022:22
  • 容器内安装openssh-server
  • 主机使用命令获取容器ip
      sudo docker inspect -f "{{ .NetworkSettings.IPAddress }}" Container_Name
  •   登录容器:docker run -it --gpus all -p 5022:22 -v /luoyinjie:/luoyinjie -d bash

常用镜像:

nvidia/cuda:9.2-cudnn7-devel-ubuntu16.04   

docker run 参数

https://www.cnblogs.com/yfalcon/p/9044246.html

run GPU 容器

docker run -it --gpus all -p $1:22 -v /data:/data --restart=always
-e NVIDIA_VISIBLE_DEVICES=all -e NVIDIA_DRIVER_CAPABILITIES=compute,utility,video
-d my_gpu_image_16.04_10.2 bash -c "/etc/init.d/ssh start && /bin/bash"

错误解决:

docker pull 遇到 timeout    //似乎没用

执行命令

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://3056ffe7.m.daocloud.io

 然后重启

   法二  更改为阿里云

[root@localhost ~]# tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"]
}
EOF
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker

docker 导出和导入

docker save -o hello-world.tar hello-world:latest

docker load --input hello-world.tar

docker 动态绑定核心

docker update --cpus 24.0

-m 64g --memory-swap 64g docker_name

原文地址:https://www.cnblogs.com/luoyinjie/p/13263096.html