前言


0. 基础知识

镜像,容器是docker中最终的两个概念。


  • 镜像:镜像就是一个基础版的​​服务器​​,我们可以通过这个基础版的镜像去创建一个容器。镜像中装的是你的代码,数据,模型,已经安装好的软件等~
  • 容器:使用镜像生成容器,然后运行容器就可以进入到 ​​docker​​ 中。

1.镜像相关

1.1 查看镜像

​docker images​

docker初学者入门指南_端口映射

1.2 生成镜像

可以使用 ​​Dockerfile​​​ 来打包生成镜像。 ​​Dockerfile​​​ 是用来指定该怎么生成 docker 镜像。下面就是一个完整的 ​​Dockerfile​​ 文件。

FROM daguan:1 # 从某个基础镜像获取,比如阿里云等镜像

ADD . /data # 将当前目录下的东西放到 /data 下
WORKDIR /data # 指定/data 为工作目录,即当前目录

RUN pip install --upgrade pip # 升级pip
RUN pip install --no-cache-dir -i https://pypi.tuna.tsinghua.edu.cn/simple # 指定pip源

2.使用镜像生成容器

​docker run --gpus all --name lawson --shm-size 8G -p 7722:22 -p 9876:76 -v /home/liushen/working:/working -it -d hunter:v2​

解释一下:


  • 这个端口号映射关系:容器内的22端口映射到服务器的7722端口;容器内的76号端口映射到9876端口。
  • ​hunter:v2​​​ 指的就是镜像的名是​​hunter:v2​​​,其中​​v2​​是一个人为给的标签,用于方便确认是哪一个tag。

执行命令​​docker exec -it lawson /bin/bash​​进入docker中,启动docker之后,有点儿像是重新搞了一套虚拟系统,这个系统跟原来的系统没有任何关系,但是可以添加一些端口映射从而控制这个关系。

3.问题

3.1 ssh连接出现​​Permission denied, please try again.​

我的原因是:sshd_confit 这个文件中的 PermitRootLogin prohibit-password 这个值没有改成 ​​PermitRootLogin yes​

4.docker 容器相关操作

4.1删除容器

​docker rm container_id​

4.2 删除镜像

​doocker rmi (IMAGE ID)​

4.3 查看日志

运行docker 的时候,可能会出现错误,所以这时候就可以使用 ​​docker logs​​ 查看运行过程的日志。