docker操作

构建镜像

commit

  • 新建容器

  • 在容器内安装所需的环境

  • 通过commit命令建立新的image

    docker commit container_id image_name:tag

Dockerfile

  • 将项目代码拷贝到主机某一路径下(可以通过docker cp,并保证路径下没有其他文件)

  • 在同一路径下创建Dockerfile文件

    1
    2
    3
    4
    FROM fasttext:1.0
    ADD ./docker_file /home/Fasttext
    WORKDIR /home/Fasttext
    CMD ["python3", "/home/Fasttext/api.py"]

    ADD会将主机的指定路径文件拷贝到新建容器的对应路径下

    CMD会在docker run时运行

  • 通过build创建镜像

    docker build -t fasttext:2.0 .

    注意最后有个上下文路径,具体可见:dockerfile

创建容器

交互方式

1
nvidia-docker run -itd --name Fasttext_test -v /host_dir:/container_dir -p host_port:container_port container_id /bin/bash

后台运行方式

1
nvidia-docker run -d -p host_port:container_port container_id

dockerhub

  • 注册并建立公共仓库
  • 本地使用 docker login 进行登录
  • tag修改镜像名称:docker tag container_name your_dockerhub_id/your_dockerhub_repository
  • docker push your_dockerhub_id/your_dockerhub_repository 对于同一个仓库,命令是固定的
  • docker logout 退出

镜像打包

1
docker save -o fasttext.tar fasttext:2.0