Docker简单使用

nvidia-docker container run -p 8081:8081 -it --shm-size 32G --name=yexp -v /home/yusq/mnt/yusq:/home/yxp tensorflow/tensorflow:1.13.1-gpu-py3-jupyter /bin/bash

exit

docker start (刚刚的容器id)

nvidia-docker exec -it yexp /bin/bash   (exec进去后容器不会自动退出)

---------------------------------------------------------------------------------------------------------------

sudo docker load < ./docker_image/moredian_cuda10_cudnn7_mxnet_pytorch_by_wangd_v1_20191210.tar

nvidia-docker container run -p 8084:8097 -it --shm-size 32G --name=yxp_torch130 -v /home/yusq/mnt/yusq:/home/yxp moredian_cuda10_cudnn7_mxnet_pytorch_by_wangd_v1_20200416 /bin/bash

sudo  nvidia-docker exec -it duys2 /bin/bash/

解释:

sudo docker load -i ./docker_image/moredian_cuda10_cudnn7_mxnet_pytorch_by_wangd_v1_20191210.tar

导入这个主机上名为moredian_cuda10_cudnn7_mxnet_pytorch_by_wangd_v1_20191210的镜像

------------------------------------------------------------------

nvidia-docker container run -p 8084:8097 -it --shm-size 32G --name=yxp_torch130 -v /home/yusq/mnt/yusq:/home/yxp moredian_cuda10_cudnn7_mxnet_pytorch_by_wangd_v1_20200416 /bin/bash

-run是为这个镜像启动一个容器
-i和-t这两个参数的作用是,为该docker创建一个伪终端,这样就可以进入到容器的交互模式?(也就是直接进入到容器里面)后面的/bin/bash的作用是表示载入容器后运行bash ,docker中必须要保持一个进程的运行,要不然整个容器启动后就会马上kill itself,这样当你使用docker ps 查看启动的容器时,就会发现你刚刚创建的那个容器并不在已启动的容器队列中。这个/bin/bash就表示启动容器后启动bash

-v见下面解释

这里注意端口号不能被占用,两个8082可以都改成8083,8084等等


------------------------------------------------------------------


sudo  nvidia-docker exec -it duys2 /bin/bash/

见https://www.cnblogs.com/miracle-luna/p/11111852.html

docker/nvidia-docker使用整理:

docker/nvidia-docker使用整理 - 简书

-v用来把主机文件夹挂载到镜像中:

冒号前是主机路径,冒号后是容器路径,

例: -v /home/yusq/mnt/yusq:/home

把主机的/home/yusq/mnt/yusq挂载到容器的/home下

(十)Docker-V 详解 - sixinshuier - 博客园

-------------------------------------------------------------------------------------

常用命令:

docker ps                      #查看当前在运行的docker容器
docker ps -a                   #查看所有容器(包括停掉的)
docker stop <某个CONTAINER ID>  #停止掉该CONTAINER ID的容器
docker rm <某个CONTAINER ID>    #删除这个容器(不是镜像)
docker images                  #列出本机已有镜像
docker start <某个CONTAINER ID>或<NAMES>   #启动一个或多个已经被停止的容器

docker stop <某个CONTAINER ID>或<NAMES>    #停止一个运行中的容器

docker restart <某个CONTAINER ID>或<NAMES> #重启容器

---------------------------------------------------------------------------------------------------------------

服务器管理角度:

添加docker用户:

sudo groupadd docker #添加docker用户组

sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中

newgrp docker #更新用户组

尝试远程连接docker:

sudo vim /lib/systemd/system/docker.service
#修改ExecStart这行
ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2376  -H unix:///var/run/docker.sock

重启服务
sudo systemctl daemon-reload
sudo service docker restart

vscode通过跳板连接远程服务器docker容器_cxmomo的博客-CSDN博客

---------------------------------------------------------------------------------------------------------

ssh远程连接docker方式:

创建docker时把22端口映射出来,例如: -p 8901:22

在docker里安装ssh-server

apt update&&apt install -y --no-install-recommends openssh-server
apt-get install language-pack-zh-hans

设置密码

passwd root

修改ssh配置, 并开启服务:

vim /etc/ssh/sshd_config

service ssh start

docker的ssh已经搭好啦,可以直接ssh访问 ,  比如说服务器的ip是192.168.0.5 ,docker映射端口是8901 , 那么就可以用

ssh -p 8901 root@192.168.0.5

---------------------------------------------------------------------------------------------------------

修改shm-size

第一步

// 找到要修改容器的 ID
docker ps -a;
  • 本人docker用户对应的container ID如下
    在这里插入图片描述
     
  • 第二步
// 2f2162403489 为需要修改容器的 ID
docker inspect 2f2162403489 | grep Id
//输出显示需要的被修改的目录id
 "Id": "2f2162403489c3cff8bfbe52b17ff0c9d64cc7ad2905e318fdb2d298b806ndslanld",

第三步

//最高权限
su
输入密码
// 进入对应ID目录
 cd /var/lib/docker/containers/2f2162403489c3cff8bfbe52b17ff0c9d64cc7ad2905e318fdb2d298b8
 ls
 找到 hostconfig.json文件

第四步

// 停止docker服务
systemctl stop docker  
//或者
service docker stop
  • 第五步
// 修改 hostconfig.json
vi hostconfig.json 
//找到shm,改成32G
"ShmSize": 34359738368,
直接修改你需要的内存,保存退出

验证
重启后进入docker(本机docker随服务器重启自动重启),进入用户docker使用“df”命令查看shm

-----------------------------------------------------------------------------------------------

pytorch的visdom

创建:
nvidia-docker container run -p 8084:8097 -it --name=yxp_torch130 -v /home/yusq/mnt/yusq:/home/yxp moredian_cuda10_cudnn7_mxnet_pytorch_by_wangd_v1_20200416 /bin/bash

docker中:
nohup python -m visdom.server &

-----------------------------------------------------------------------------------------------

报UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal

export LANG="en_US.UTF-8"

==================================================================

GPU docker环境搭建

新版不需要安装nvidia-docker

只需要一句:

apt-get install nvidia-container-runtime

然后生成容器加上一句  --gpus all

比如:

docker container run --privileged=true -p 10001:22 --gpus all -it --shm-size 8G --name=XXXX -v /XXXX:/XXX/ xxxxx /bin/bash

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Docker是一种容器化技术,它能够将应用程序及其依赖项打包成一个独立的容器,使其能够在不同的环境中进行部署和运行。以下是Docker简单使用方法: 1. 首先,你需要安装Docker Desktop,它是Docker的图形化工具,可以简化Docker使用过程。可以通过官方网站下载并安装。 2. 安装完成后,启动Docker Desktop。在桌面或任务栏上找到Docker图标并点击打开。 3. 一旦Docker Desktop启动,你就可以使用Docker命令行工具(Docker CLI)或Docker图形界面来管理和操作Docker。 4. 使用Docker CLI时,你可以使用各种命令来创建、运行和管理Docker容器。例如,使用"docker pull"命令从Docker仓库中下载一个镜像,使用"docker run"命令来运行一个容器,使用"docker ps"命令来查看正在运行的容器等。更详细的Docker命令可以通过在网上搜索获得。 5. 此外,你可以使用"docker attach"命令或"docker exec"命令来进入正在运行的容器并以命令行交互。这将允许你在容器内执行命令和查看容器的日志。 总结:Docker简单使用方法包括安装Docker Desktop,使用Docker CLI执行各种命令来管理和操作Docker容器,以及使用"docker attach"或"docker exec"命令进入正在运行的容器进行命令行交互。希望这些信息能对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [docker简单使用](https://blog.csdn.net/qq_50626505/article/details/124214734)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [docker简单使用](https://blog.csdn.net/weiweixiao3/article/details/82224715)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值