新手使用Docker教程

-1、docker主目录迁移(docker安装完成一定要进行此步骤,不然根目录会爆掉)
  • 查看运行状态
systemctl status docker
  • 关闭docker
systemctl stop docker
  • 将docker 安装目录移动到指定目录下
mkdir .docker_data
mv /var/lib/docker .docker_data/
  • 通过软连接把两个目录关联起来
原目录:/var/lib/docker
新目录: /home/unitree/.docker_data/.docker_data/docker
sudo ln -s /home/unitree/.docker_data/docker /var/lib/docker
  • 启动命令
systemctl start docker
  • 查看状态
systemctl status docker
  • 可以直接查看docker info详细信息
docker info
0、卸载docker
sudo apt-get remove docker docker-engine docker-ce docker.io

1、安装docker(以ubuntu为例)(两种安装都是可以使用(二选一))

1.1 安装 nvidia-docker2
curl https://get.docker.com | sh

sudo systemctl start docker && sudo systemctl enable docker

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -

curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

curl -s -L https://nvidia.github.io/nvidia-container-runtime/experimental/$distribution/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list

sudo apt-get update

sudo apt-get install -y nvidia-docker2

sudo systemctl restart docker

不同系统的安装方法

1.2、安装docker19和toolkit
  • 安装docker19
sudo apt-get remove docker docker-engine docker-ce docker.io
sudo apt-get install   apt-transport-https    ca-certificates   curl     gnupg-agent    software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable "
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
  • 安装toolkit
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
 sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
1.3、 重启docker服务
sudo service docker restart
1.4、 测试gups参数是否可用
docker run --help | grep -i gpus

2、导入外部镜像 两种方式

sudo docker load --input pytorch1.0_cuda10_py3_jupyter.tar  #load只能导入使用save命令保存的镜像包
sudo docker import pytorch1.0_cuda10_py3_jupyter.tar  docketsave:latest 
#import 可以导入使用save保存的镜像包,也可以导入使用export保存的容器包,并且可以重新命名  

$ \color{red}{注意:}$

i m p o r t 可以导入使用 s a v e 保存的镜像包但是使用 r u n 运行时会报错,导入使用 x e p o r t 容器包 r u n 执行不会报错。 \color{red}{import 可以导入使用save保存的镜像包但是 使用run运行时会报错,导入使用xeport容器包 run执行不会报错。} import可以导入使用save保存的镜像包但是使用run运行时会报错,导入使用xeport容器包run执行不会报错。

最好 i m p o r t 和 e x p o r t , l o a d 与 s a v e 对应使用 \color{red}{最好import和export, load与save对应使用} 最好importexport,loadsave对应使用

查看导入的镜像

sudo docker images 
REPOSITORYTAGIMAGE IDCREATEDSIZE
10.59.3.203:5000/pytorch1.0_cuda10_py3_jupyterlatest0a26eaf4e60a7 months ago5.16GB
docketsavelatest7a3622967df921 seconds ago5.2GB

3、运行容器

3.1、普通运行
sudo docker run  -i -t  10.59.3.203:5000/pytorch1.0_cuda10_py3_jupyter:latest /bin/bash
3.2、本地的一个文件目录共享给docker,实现docker与本地文件的共享
sudo docker run -it -v /home/xj/docker_share:/share docketsave:latest /bin/bash
#把本地的/home/xj/docker_share 挂载到docketsave:latest的share下
3.3、带有桌面的容器运行/端口映射
sudo docker run -it     --rm     -e VNC_RESOLUTION=1920x1080 -p 5901:5901 -p 6901:6901     ros-kinetic-full-xfce-vnc-docker_docker:latest /bin/bash
# VNC_RESOLUTION=1920x1080 桌面大小 -p 5901:5901 -p 6901:6901  端口映射

sudo docker run -it     --rm     -e VNC_RESOLUTION=1920x1080 -p 5901:5901 -p 6901:6901  -v /home/lv/CodeFile/ROS/ros_ws:/share   ros-kinetic-full-xfce-vnc-docker_docker:latest /bin/bash

使用浏览器或者vncviewer 访问docker桌面时默认密码为vncpassword

进入后有类似于[root@ca0889cdb68f ]#提示

进入docker 后使用

yum  install   安装软件
pip  install  按照库
3.4、多个终端连接一个容器
# 查看目前所运行的容器ID
sudo docker ps
sudo docker exec -it 8504037552ee(ID)  /bin/bash

4、保存容器的两种方法

1、先把容器commit成镜像在使用save进行保存镜像包

另起终端

sudo docker ps -a  #查看运行的容器 --- 为省略
CONTAINER IDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
ca0889cdb68f----

把容器保存为镜像

sudo docker commit  ca0889cdb68f(容器ID CONTAINER ID)  torch041(要保存的镜像名)

查看镜像

sudo docker images 
REPOSITORYTAGIMAGE IDCREATEDSIZE
torch041latestba9c647efa2450 seconds ago7.47GB

把镜像保存到本地

sudo docker save ba9c647efa24(镜像ID IMAGE ID)  >/home/xj/torch041.tar  
#这种方式会出现导进去没有tag等信息

推荐使用 \color{red}{推荐使用} 推荐使用

 sudo docker save torch041:latest (REPOSITORY:TAG) -o /home/xj/test2.tar

2、直接使用export包容器保存成容器包

sudo docker export f691d3963a63(容器ID) /home/xj/test3.tar

5、退出容器

1、退出关闭容器

exit

2、退出不关闭容器

ctrl+q+p

6、进入后台运行的容器

1、使用docker attach命令

sudo docker attach pedantic_antonelli(容器名) 或者 sudo docker attach 1ac28784403f(容器ID)

缺点:只要这个连接终止,或者使用了exit命令,容器就会关闭

2、使用docker exec命令

docker exec -it pedantic_antonelli /bin/sh 或者 docker exec -it c87bed62f1a9 /bin/sh

这个命令即使使用exit命令或者终端关闭 。容器也不会退出,只会在后台运行

可以使用

 sudo docker stop c87bed62f1a9

来关闭这个容器

7、修改root密码

7.1、以root身份进入
passwd   
#然后修改即可
7.2、以其他身份进入

可以另起终端进行登录

sudo docker exec -it --user root e7554a096748 /bin/bash
# 然后
passwd
#即可修改

这时就可以在原来的终端进行

su root 
8、清理docker所占空间(有风险请谨慎)
sudo docker system prune
9、docker使用宿主机界面
  • 9.1 在宿主机执行以下步骤

1、安装xserver
$ sudo apt install x11-xserver-utils
2、许可所有用户都可访问xserver
xhost +

  • 9.2 运行docker
sudo docker run -ti -h ubuntu  --hostname ubuntu  -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix 
-v /home/unitree/opject:/share --gpus all yolact_edge_image:latest /bin/bash

-h ubuntu 指定docker的hostname
–hostname ubuntu 使用指定的hostname

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值