Docker 使用显卡

环境

docker 使用gpu 显卡方式

  • 宿主机查看显卡,预计使用0号显卡
shell>  nvidia-smi

  • 创建启动docker 容器的脚本,要求为 32G内存,16核cpu,0号显卡
#   cat leichuangxin.sh 
PORT=101
USER=leichuangxin
PASS=`uuidgen`

if [[ ! -e /export/$USER ]]; then
    mkdir /export/$USER/.ssh -p
else
    echo "/export/$USER exist"
fi

docker run -itd --name $USER \
           --restart always \
           -v /export/$USER:/export \
           -v /export/$USER/.ssh/:/root/.ssh/ \
           --runtime=nvidia \
           -e NVIDIA_VISIBLE_DEVICES=0 \ #显卡使用0号
           -m 32G \       #内存分配 32G
           --cpus 16 \    #cpu 核心数分配16c
           -p ${PORT}22:22 \
           -p ${PORT}23-${PORT}25:${PORT}23-${PORT}25 \
           yz.harbor.moviebook.com/base/cuda:11.1.1-runtime-ubuntu18.04
#docker exec -it $USER bash -c "echo root:$PASS|chpasswd"
#docker exec -it $USER bash -c "sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config; /etc/init.d/ssh restart"
  • 启动容器
bash leichuangxin.sh 
  • 查看容器显卡是否正常
shell> docker exec -it leichuangxin bash


证明已成功使用宿主机显卡

推荐这些文章:

Docker基本命令与使用 —— Docker容器(一)

一.容器的基本操作
1. 启动容器

docker run IMAGE [COMMAND] [ARG...]

run 在新容器中执行命令

eg: docker run ubuntu echo 'Hello World'
输出内容的同时,启动的容器已经停止,这是一个实行单次命令的容器
 
2. 启动交互式容器

docker run -i -t IMAGE /bin/bash

-i --interactive=true|false 默认是false
-t --tty=true|false 默认是false
eg:

docker run -i -t ubuntu /bin...

Docker命令基本使用

docker命令基本使用(以docker安装Ubuntu系统为例)
 
1 拉取Ubuntu镜像
查询镜像:

docker search ubuntu

拉取ubuntu最新版镜像:

docker pull ubuntu

拉取ubuntu指定镜像版本:

docker pull ubuntu:18.04

查看本地镜像仓库中的镜像:

docker images

 
2 运行容器并通过exec命令进入Ubuntu容器
运行容器:

docker run -itd --name ubuntu-TestOS ubuntu

-i:交互式操作
-t:终端
...

Docker容器数据卷

什么是容器数据卷?
docker理念
将应用和环境打包成一个镜像,如果数据存储在容器中,那么容器删除后,数据便会丢失,
因此需要容器数据卷来保证数据持久化(数据共享 保存数据到本地)
使用数据卷

方式一
直接使用命令挂载 -v

docker run -it -v 主机目录:容器内目录 镜像名称 /bin/bash

# 测试
docker run -it -v E:\dockerWorkspace\test_home:/home centos /bin/bash

# 启动后可通过 docker inspect 容器id 查看容器详细信息

--volumes-from
# 数...

Docker 数据卷容器

数据卷容器 理解

用户需要在多个容器之间共享一些持续更新的数据,最简单方法就是使用数据卷容器
数据卷容器也是一个容器,但它的目的是专门提供数据卷给其他容器挂载
命名的容器挂载数据卷,其它容器通过挂载这个(父容器)实现数据共享,挂载数据卷的容器,称之为数据卷容器!
与容器数据卷相连
例:使用上一步的镜像:zzz/centos 为模板,运行容器 docker01,docker02,docker03,他们都会具有容器卷。

测试一下容器间传递共享
1、先启动一个父容器docker01,然后在dataVolumeContainer2新增文件
docker images zzz/centos ...

Docker安装Kibana

1,拉取镜像

docker pull kibana:7.1.1

2,启动容器

docker run --name kibana --link es:es -p 5601:5601 -d kibana:7.1.1

注:
docker exec -it kibana /bin/bash
cd /config
vi kibana.yml
将配置文件kibana.yml中的elasticsearch.url改为正确的链接,默认为: http://elasticsearch:9200
改为http://自己的IP地址:9200
 
镜像链接: https://pan.baidu...

Docker 中打开SSH

安装和启动openssh服务
/etc/init.d/ssh start
 
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_keyssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
echo 'root:yourpasswd' | chpasswd //设置root密码
vi /etc/ssh/sshd_config 将PermitRootLogin 改为 yes,将 UsePAM 改为 no。
重启服务:
/etc/init.d/ssh restart

...

Docker安装rabbitmq

1.docker安装
# 15672后管端口
docker run -d --name yang-rabbitmq -p 15672:15672 -p 5673:5672 rabbitmq:3.9

2.修改rabbitmq密码
# 进入容器
docker exec -it yang-rabbitmq bash

# 1.开启后管
rabbitmq-plugins enable rabbitmq_management

# 2.查看后管用户
rabbitmqctl list_users
#Listing users ...
#user tags
#guest [administrator]...

Docker: docker-compose

version: "3.9"

volumes:
data:
external: false
config:
external: false
plugins:
external: false
kibana:
external: false

networks:
demo:
name: demo
external: false
ipam:
driver: default
config:
- subnet: 10.0.0.0/24

services:
elasticsear...

Docker容器时间与宿主机时间不一致问题

docker容器时间与宿主机时间不一致问题,该问题是宿主机和容器时区不一致导致的。
把本机时区复制到宿主机即可:

# 方法一:
docker cp /etc/localtime 容器ID:/etc/localtime
然后重启容器。

# 方法二:
docker exec -it <容器名> /bin/bash
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
docker restart <容器名>

# 方法三:
在创建Dockerfile时加上
RUN /bin/cp /usr/share/z...

Docker以root用户进入容器exec -u 0

docker exec -u 0 <container> <command>

例:
sudo docker exec -it -u 0 ea269 /bin/bash

如果没有一直坚持,也不会有质的飞跃,当生命有了限度,每个人的价值就会浮现。
船长博客,期待共同交流提高!

本文如对您有帮助,记得点击右下边小球【赞一下】,热烈期待您关注博客 n(*≧▽≦*)n

a.class1 { text-dec...

文章标题:Docker 使用显卡
文章链接:https://www.dianjilingqu.com/51390.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
THE END
< <上一篇
下一篇>>