1、安装docker
sudo apt-get update
sudo apt-get install docker.io
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对应使用} 最好import和export,load与save对应使用
查看导入的镜像
sudo docker images
REPOSITORY | TAG | IMAGE ID | CREATED | SIZE |
---|---|---|---|---|
10.59.3.203:5000/pytorch1.0_cuda10_py3_jupyter | latest | 0a26eaf4e60a | 7 months ago | 5.16GB |
docketsave | latest | 7a3622967df9 | 21 seconds ago | 5.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 ID | IMAGE | COMMAND | CREATED | STATUS | PORTS | NAMES |
---|---|---|---|---|---|---|
ca0889cdb68f | — | — | — | — | — | ---- |
把容器保存为镜像
sudo docker commit ca0889cdb68f(容器ID CONTAINER ID) torch041(要保存的镜像名)
查看镜像
sudo docker images
REPOSITORY | TAG | IMAGE ID | CREATED | SIZE |
---|---|---|---|---|
torch041 | latest | ba9c647efa24 | 50 seconds ago | 7.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