需求:
假如我们在某台服务器上部署了项目,现在需要将整个项目同步到docker环境中,在服务器上修改项目即可同步docker环境。
服务器的host设为docker的host
服务器的sys时间设为docker的时间
本地服务器的项目路径如下:/home/xxxx/liao
需要同步到docker的目录为:/home/jovyan/liao
实现:
#!/bin/bash
docker run -d --net=host \
-v /home/quant/liao:/home/jovyan/liao \
-v /etc/localtime:/etc/localtime:ro \
--cap-add SYS_TIME \
--name cnn_server \
-w /home/jovyan $1 sleep infinity
代码解释:
--net=host 同步服务器地址
-v /home/quant/liao:/home/jovyan/liao 同步代码路径
-v /etc/localtime:/etc/localtime:ro 同步本地时间
--cap-add SYS_TIME 允许修改docker系统时间,方便测试
--name cnn_server 生成的容器名称
-w /home/jovyan $1 sleep infinity $1指的是生成容器所依据的镜像ID
运行:
假设实现代码是make_docker.sh,需要的镜像ID是 xxxxxxxxxxx,
bash make_docker.sh xxxxxxxxxxx