0
点赞
收藏
分享

微信扫一扫

以pycorrector为例讲讲docker以及dockfile


第一个问题什么是dockerfile?

pycorrector是一个文本纠错的包,它的dockerfile是这么写的

FROM centos:7
MAINTAINER XuMing "xuming624@qq.com"

RUN yum -y install python36
RUN yum -y install git boost-devel boost-test boost zlib bzip2 xz cmake make
RUN yum -y install gcc-c++
RUN yum -y install python36-devel
# install kenlm
RUN pip3 install https://github.com/kpu/kenlm/archive/master.zip
# clone repo
#RUN git clone --depth=1 https://github.com/shibing624/pycorrector.git
#WORKDIR /home/work/pycorrector
# install requirements.txt
RUN pip3 install jieba pypinyin numpy six -i https://pypi.tuna.tsinghua.edu.cn/simple
# install pycorrector by pip3
RUN pip3 install pycorrector -i https://pypi.tuna.tsinghua.edu.cn/simple
# support chinese with utf-8
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
ENV LC_ALL

这里我们具体讲一下这里的命令,​​FROM​​​说明我们构建的镜像的基础镜像是哪种环境,这里我们的基础镜像是centos:7。​​RUN​​​用于执行后面跟着的命令行命令,每执行一次命令就会在docker上新建一层。​​ENV​​​设置环境变量,定义了环境变量,那么在后续的指令中,就可以使用这个环境变量。​​CMD​​​类似于 ​​RUN​​​ 指令,用于运行程序,但二者运行的时间点不同:​​CMD​​​ 在​​docker run​​​时运行,​​RUN​​​是在 ​​docker build​​​时运行。**注意:**如果 Dockerfile 中如果存在多个​​CMD​​指令,仅最后一个生效。

第二个问题我们该如何构建一个镜像?

我们cd到dockerfile的同级目录下,我们执行​​docker build -t second:v1.0 .​​​,注意那个​​.​​不要忘记,这里second为镜像名字,v1.0为版本号。好了一个镜像我们就构建完成了。

第三个问题我们该如何创建一个容器?

以pycorrector为例,​​docker run -it -v ~/.pycorrector:/root/.pycorrector shibing624/pycorrector:0.0.2​​​,这里我们详细的介绍一下​​docker run​​的用法:

​docker run -i​​​以交互的方式运行docker容器,通常与​​-t​​同时使用

​docker run -t​​​为容器重新分配一个伪输入终端,通常与​​-i​​同时使用

​docker run -v​​​磁盘挂载,​​docker run -v ~/.pycorrector:/root/.pycorrector​​​,将宿主机的​​~/.pycorrector​​​挂载到容器的​​/root/.pycorrector​​​上,​​shibing624/pycorrector:0.0.2​​​是镜像名称,如果本地上没有这个镜像,会从docker-hub上拉取一个镜像创建该容器。因为​​dockerfile​​​有一句命令​​CMD /bin/bash​​​,我们会使用​​/bin/bash​​执行交互式界面。

执行完命令,我们就进入到容器之中。

以pycorrector为例讲讲docker以及dockfile_python


我们可以使用​​exit​​命令退出该容器。

如果该容器仍然在运行中,我们该怎么进入呢?运行​​docker ps -a​

以pycorrector为例讲讲docker以及dockfile_docker_02


我们找到容器的ID,运行​​docker exec -it 62481c087e0f bash​​,我们就进入到容器之中了。

第四个问题我们该如何使用容器?

以pycorrector为例,我们如何使用镜像

以pycorrector为例讲讲docker以及dockfile_bash_03


举报

相关推荐

0 条评论