安装
- 检查
Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,使用uname -r
> 4.15.0-50-generic
- 安装 :
sudo apt-get install docker.io
镜像
- 搜索镜像
docker search centos
- 拉取镜像
docker pull centos
- 查看镜像
docker images
- 创建镜像
sudo docker build /home/zz/GitlabCodes/consultant-nlp/similarity/similarity_docker/ -t similarity-docker-test
启动/重启服务
- 启动服务
service docker start
- 重启服务
systemctl restart docker
操作容器
-
创建/启动一个容器有如下两种方法
- 启动一个bash终端,允许用户进行交互:
docker run --name mydocker -it centos /bin/bash
# --name 给容器定义一个名称 # -i 让容器的标准输入保持打开 # -t 让Docker分配一个伪终端,并绑定到容器的标准输入上 # /bin/bash 指定docker容器,用shell解释器交互
-
指定端口转发:
sudo docker run -itd -p 8080:8000 --name sim-docker-port centos
。注意,这个命令必须有"itd"的d,否则端口映射不过去 -
启动一个已有的容器
docker start e5f094e8d788
- 启动一个bash终端,允许用户进行交互:
-
查看已有的容器:
sudo docker ps -a
,注:docker ps
是显示当前运行的容器(base) zz@zz-VirtualBox:~/GitlabCodes/consultant-nlp/similarity/similarity_docker$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 393e0a6addd4 centos "/bin/bash" 40 seconds ago Exited (0) 6 seconds ago frosty_robinson 5087b7889418 centos "/bin/bash" 2 minutes ago Exited (0) About a minute ago sim-docker 10cb8f4b5dff nginx:latest "nginx -g 'daemon of…" 34 minutes ago Exited (0) 22 minutes ago myweb
-
进入刚刚某个docker的命令行
sudo docker exec -it sim-docker /bin/bash
-
删除某个容器:
sudo docker rm sim-docker
;删除所有停止状态的容器sudo docker container prune
-
打包某个容器
docker save
-
加载某个容器
docker load -i my.tar
一个配置流程路线
- 安装docker
sudo apt-get install docker.io
- 拉取所需镜像
docker pull ubuntu
,搜索所需镜像使用:docker search ubuntu
,注意OFFICIAL - 编写
Dockerfile
以及requirement.txt
- 创建修改的镜像
sudo docker build /home/zz/GitlabCodes/consultant-nlp/similarity/similarity_docker/ -t similarity-docker
。这里similarity-docker是创建的镜像的名。 - 打包
docker save -o similarity-docker.tar similarity-docker
,这里使用的是第四步创建的镜像。 - copy到服务器
- 解压/加载
docker load -i similarity-docker.tar
- 跑服务
sudo docker run -itd -p 8869:8869 --name sim-docker similarity-docker
注:如果是深度学习相关需要用nvidia-docker
Dockerfile配置
1. 深度学习,需要GPU
# 指定所用的镜像
FROM registry.cn-shanghai.aliyuncs.com/tcc-public/tensorflow:1.12.0-cuda9.0-py3
# 维护者信息
MAINTAINER zhuyuanqing zhuyuanqing@gridsum.com
# 指定工作路径
WORKDIR /note_type_classification
# 这个ADD可以少用,参考:https://juejin.im/post/5aa5d08e6fb9a028de4455d1
# ADD . /note_type_classification # 添加
# 复制文件
COPY requirements.txt requirements.txt
# 根据requirements安装包
RUN pip install --no-cache-dir -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
# 或者根据这种方法安装whl文件
COPY pynvml-8.0.3-py3-none-any.whl /note_type_classification # 注意前面参数是物理机文件路径
RUN pip install /note_type_classification/pynvml-8.0.3-py3-none-any.whl
# 执行python server.py
CMD ["python", "server.py"]
2. 非深度学习,不用GPU
FROM python:3.5
MAINTAINER zhuyuanqing
#RUN apt-get update \
# && apt-get install -y vim
ADD . /similarity-docker-folder
WORKDIR /similarity-docker-folder
COPY requirements.txt requirements.txt
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
CMD ["python", "server.py"]
网友评论