1.拉取镜像
docker pull
2. 基于镜像创建容器并挂载项目到容器内
docker run -it --name 自取容器名 -v /home/x:/home 镜像名
2. 创建docker-gpu 使容器能够共享宿主机GPU
sudo docker run -itd --gpus all --name 自己创建的容器名字 -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all -v 宿主机挂载目录绝对路径:容器绝对路径 -p 宿主机端口:容器端口 镜像名称 /bin/bash
3.进入容器
docker exec -it 容器名 /bin/bash
#镜像删除
docker rmi 名字
#容器删除
docker rm 名字
# 容器重命名
docker rename 原来的容器名字 新容器名字
4.将容器打包为镜像
docker commit [OPTIONS] 容器ID 镜像名:TAG(一般是版本)
Option 功能
-a 指定新镜像作者
-c 使用 Dockerfile 指令来创建镜像
-m 提交生成镜像的说明信息
-p 在 commit 时,将容器暂停|
5.分享镜像的两种方式
第一种:tar包分享
# 1.打包
docker save -o 包名.tar 待打包镜像名称:Tag
# 2.加载
docker load -i 包名.tar
第二种:dockerhub的上传和拉取
这里首先将要传的镜像的名字改为自己的dockerhub名字打头的新镜像名字
docker tag new_image:tag 我的hub名/new_image:tag #打上自己dockerhub名字
docker login #登录自己dockerhub账号名和密码
docker push\pull 我的hub名/new_image:tag #上传或拉取别人的
6.新拉取的docker如果需要安装anaconda,
#报错
bash: /home/anaconda3/bin/conda: /home/x/anaconda3/bin/python: bad interpreter: No such file
使用 vim 编辑 conda 脚本
vim /home/anaconda3/bin/conda
#i 键进入编辑模式,然后找到类似 #!/home/x/anaconda3/bin/python 的行,将其更改为正确的路径 /home/anaconda3/bin/python。
7.docker容器内外文件互相copy
7.1容器外部文件 copy 到容器内部
如,将 Linux 服务器 /opt/ 目录下的 a.txt 文件 copy 到 influxdb 容器的 /tmp/ 目录下,命令如下:
docker cp /opt/a.txt influxdb:/tmp/
7.2 容器内部文件 copy 到容器外部
例如,将 influxdb 容器 /tmp/ 目录下的 a.txt 文件 copy 到 Linux 服务器 /opt/ 目录下,命令如下:
docker cp influxdb:/tmp/a.txt /opt/