Docker的安装与使用--基于Ubuntu

1. Docker的安装

参考教程:

  1. Docker的安装
  2. USTC的Docker使用镜像
    这里推荐一下USTC的开源镜像
  3. Docker官方安装教程

2. Docker的使用

深度学习推荐拉取镜像库Deepo
看前提醒:有任何疑问,可用$ docker help 解决
菜鸟教程-Docker的使用

镜像的应用

镜像的拉取

docker pull ufoym/deepo:tensorflow-py36-cu90
国内源:
docker pull docker.mirrors.ustc.edu.cn/ufoym/deepo:tensorflow-py36-cu90

容器转换为镜像(container→image)

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS说明:

-a :提交的镜像作者;

-c :使用Dockerfile指令来创建镜像;

-m :提交时的说明文字;

-p :在commit时,将容器暂停。

示例:

yannqi@yannqi-X6Ti-Series-GH5KN51:~$ docker commit -a “yannqi” -m “tensorFlow2” 91ff39e16730 tensorflow2.0:tf2.0
sha256:37af1236adef1544e8886be23010b66577647a40bc02c0885a6600b33ee28057
yannqi@yannqi-X6Ti-Series-GH5KN51:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tensorflow2.0 tf2.0 0e7c5393060e 7 hours ago 5.18GB

查看本地已安装镜像

docker images

删除本地已安装镜像

docker rmi < ImageID >

容器的使用

查找已安装容器

docker ps -a

查找正在运行的容器

docker ps

启动容器

docker run -it /bin/bash

我的使用 注意:docker 19.0+version 已经配备了NVIDIA docker ,无需重复安装

sudo docker run --gpus all -p 8888:22 --name yannqi -v /home/yannqi/A_qiqi_store:/workspace/yannqi -it ufoym/deepo:tensorflow-py36-cu90

出现了问题,还是之后安装NVIDIA-driver试试吧
注:-p[容器端口:宿主机端口]
–name [容器名]
-v [宿主机路径:容器内路径]
-it :不后台运行 –i:后台运行
ufoym/deepo:tensorflow-py36-cu100 repository 来源:TAG 标签

参数说明:

-i: 交互式操作。
-t: 终端。
ubuntu: ubuntu 镜像。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

启动一个已经停止的容器

docker start

容器后台运行

在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。

docker run -itd --name /bin/bash

注:加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec
参数说明:
-d:参数默认不会进入容器,想要进入容器需要使用指令 docker exec
-i: 交互式操作。
-t: 终端。
ubuntu: ubuntu 镜像。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

停止一个容器

docker stop <容器 ID>

进入容器

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

docker exec -it /bin/bash

更多问题请寻求 docker exec --help

导入导出容器

导出容器

docker export > ubuntu.tar

导出容器 快照到本地文件 ubuntu.tar。
这样将导出容器快照到本地文件。

导入容器快照
可以使用 docker import 从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:

cat docker/ubuntu.tar | docker import - test/ubuntu:v1

0

删除容器

docker rm -f

下面的命令可以清理掉所有处于终止状态的容器。

docker container prune

3.docker与pycharm结合*

注意: Pycharm 要用专业版.可学生注册.
Ubuntu18.04下Docker与pycharm的结合使用

4. 问题集锦

Ubuntu 系统盘空间满,迁移docker到其它目录

参考解决方案
日益变大的/var/lib/docker
随着docker的使用,我的阿里云服务器/var/lib/docker文件夹越来越大。由于主盘比较小,所以我额外挂了一块ESB。然后希望把docker以及其他比较大的数据迁移到这块ESB上.

步骤

  1. 更改docker daemon的启动参数

$ sudo gedit /lib/systemd/system/docker.service

ExecStart=/usr/bin/docker daemon -H fd://
改成
ExecStart=/usr/bin/docker daemon -g /new/path/docker -H fd://

  1. stop docker并重载设置

service docker stop
systemctl daemon-reload

  1. 迁移/var/lib/docker中的文件到新盘

rsync -aqxP /var/lib/docker/ /new/path/docker #这一步时间较长,耐心等待

  1. 重启docker

service docker start

  1. 删除原目录下docker

出现报错:(code=exited, status=1/FAILURE)
参考的下面五篇blog解决了
11
22
33
44
55

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值