以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 zh_CN.UTF-8

CMD /bin/bash

这里我们具体讲一下这里的命令,FROM说明我们构建的镜像的基础镜像是哪种环境,这里我们的基础镜像是centos:7。RUN用于执行后面跟着的命令行命令,每执行一次命令就会在docker上新建一层。ENV设置环境变量,定义了环境变量,那么在后续的指令中,就可以使用这个环境变量。CMD类似于 RUN 指令,用于运行程序,但二者运行的时间点不同:CMDdocker 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执行交互式界面。
执行完命令,我们就进入到容器之中。
创建的容器名称
我们可以使用exit命令退出该容器。
如果该容器仍然在运行中,我们该怎么进入呢?运行docker ps -a
docker ps -a
我们找到容器的ID,运行docker exec -it 62481c087e0f bash,我们就进入到容器之中了。

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值