美文网首页
Docker踩坑

Docker踩坑

作者: 一个迷人的昵称 | 来源:发表于2020-03-07 08:41 被阅读0次

安装

  1. 检查
    Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,使用uname -r
> 4.15.0-50-generic
  1. 安装 : sudo apt-get install docker.io

镜像

  1. 搜索镜像docker search centos
  2. 拉取镜像docker pull centos
  3. 查看镜像docker images
  4. 创建镜像sudo docker build /home/zz/GitlabCodes/consultant-nlp/similarity/similarity_docker/ -t similarity-docker-test

启动/重启服务

  1. 启动服务service docker start
  2. 重启服务systemctl restart docker

操作容器

  1. 创建/启动一个容器有如下两种方法

    1. 启动一个bash终端,允许用户进行交互:docker run --name mydocker -it centos /bin/bash
      # --name  给容器定义一个名称
      # -i  让容器的标准输入保持打开
      # -t 让Docker分配一个伪终端,并绑定到容器的标准输入上
      # /bin/bash 指定docker容器,用shell解释器交互
    
    1. 指定端口转发:sudo docker run -itd -p 8080:8000 --name sim-docker-port centos。注意,这个命令必须有"itd"的d,否则端口映射不过去

    2. 启动一个已有的容器docker start e5f094e8d788

  2. 查看已有的容器: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
    
    
  3. 进入刚刚某个docker的命令行sudo docker exec -it sim-docker /bin/bash

  4. 删除某个容器: sudo docker rm sim-docker;删除所有停止状态的容器sudo docker container prune

  5. 打包某个容器docker save

  6. 加载某个容器docker load -i my.tar

一个配置流程路线

  1. 安装dockersudo apt-get install docker.io
  2. 拉取所需镜像docker pull ubuntu,搜索所需镜像使用:docker search ubuntu,注意OFFICIAL
  3. 编写Dockerfile以及requirement.txt
  4. 创建修改的镜像sudo docker build /home/zz/GitlabCodes/consultant-nlp/similarity/similarity_docker/ -t similarity-docker。这里similarity-docker是创建的镜像的名。
  5. 打包docker save -o similarity-docker.tar similarity-docker,这里使用的是第四步创建的镜像。
  6. copy到服务器
  7. 解压/加载docker load -i similarity-docker.tar
  8. 跑服务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"]

相关文章

  • 2019-08-14

    docker 搭建 gogs,drone , mysql 踩坑记录,防止以后再踩啊 docker 创建 桥接网络...

  • Docker Registry安装

    之前一直使用Nexus管理Docker镜像,后期发现Nexus对于Docker的支持并不是很完善,踩了许多坑(踩过...

  • Docker踩坑

    安装 检查Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,使用uname -r 安装 : sud...

  • mac下安装docker

    最近折腾springcloud,很多服务需要运行在docker上,怕以后再次踩坑,记录如下:下载Docker首先,...

  • Docker踩坑日记

    笔者这里主要是尝试三种方式,一是在kali上安装docker,另一种是在阿里云服务器上安装docker,后来发现国...

  • docker for windows 踩坑

    在安装gitlab-runner的时候官网给出的启动命令是: 提示找不到 docker.sock文件,通过系统扫描...

  • Docker踩坑指南

    使用docker compose数据卷绑定宿主机目录时,目录不存在时启动报错 docker compose在Ver...

  • windows Docker 踩坑

    安装 第一次在Windows安装docker 是18.4月.由于买的笔记本是家庭版安装失败. 用公司的专业版win...

  • docker踩坑系列

    问题一 停止或重启防火墙后,docker服务访问异常,容器操作报错 docker端口映射或启动容器时报错 Err...

  • 用Python Web 开发框架Flask

    在上次踩完docker的坑以后,继续follow https://zhuanlan.zhihu.com/p/146...

网友评论

      本文标题:Docker踩坑

      本文链接:https://www.haomeiwen.com/subject/jxgfdhtx.html