Home

Awesome

<div align = center> <h1>DockerLab</h1>

Package Building Status pypi Image Building Status Docker

用Docker搭建你的工作区。

</div> <br>

Read this in English.

环境要求

特点

快速开始

1. 安装dockerlab

用pip安装dockerlab:

pip install dockerlab

或者从源码安装最新版本:

pip install git+https://github.com/hughplay/dockerlab.git

2. 设置dockerlab项目

创建一个新的dockerlab项目:

dockerlab new <project_name>

或者为现有项目初始化一个dockerlab环境:

dockerlab init .

这将设置一些文件和目录,其结构如下:

.
├── docker/
│   ├── Dockerfile
│   └── misc/
├── docker-compose.yml
├── docker.py
├── Makefile
└── .gitignore

3. 自定义工作环境

通常情况下,只需要修改docker/Dockerfile文件来自定义自己的工作环境。可能关心的文件:

dockerlab准备了几个模板和预构建的docker镜像。可以通过运行以下命令将默认的docker/Dockerfile替换为需要的模板:

dockerlab use <template_name>

可用的模板可以通过 dockerlab ls列出,每个模板的详细信息可以在dockerlab/templates找到。

默认情况下,生成的docker/Dockerfile将使用预构建的docker镜像(如果存在)。也可以通过运行以下命令获取完整的dockerfile:

dockerlab use <template_name> --full

4. 构建和启动容器

make init

当你第一次执行上述命令时,它将要求你输入与容器相关的信息,并将它们存储在.env中。提示和输出示例如下:

# prompts
Give a project name [dockerlab]: dockerlab
Code root to be mounted at /project [.]:
Data root to be mounted at /data [data]:
`/home/hongxin/code/dockerlab/data` does not exist in your machine. Create? [yes]:
Log root to be mounted at /log [log]:
`/home/hongxin/code/dockerlab/log` does not exist in your machine. Create? [yes]:
directory to be mounted to hongxin [./docker/misc/container_home]:
`/home/hongxin/code/dockerlab/container_home` does not exist in your machine. Create? [yes]:

# output
Your setting (.env):
  UID: 1000
  GID: 1000
  USER_NAME: hongxin
  PROJECT: dockerlab
  CODE_ROOT: .
  DATA_ROOT: /home/hongxin/code/dockerlab/data
  LOG_ROOT: /home/hongxin/code/dockerlab/log
  CONTAINER_HOME: /home/hongxin/code/dockerlab/container_home
  COMPOSE_PROJECT_NAME: dockerlab_hongxin

5. 进入容器开启旅程

make in

本地Build镜像

docker build \
    -f dockerlab/templates/workspace_protein/Dockerfile \
    -t deepbase/dockerlab:workspace_protein \
    .

许可证

Dockerlab使用MIT许可证