有的时候我们新建了一个镜像并运行它生成了一个容器,容器就好比一个微虚拟机,有的时候我们需要在容器里面操作一些东西,可能由于很多种原因,假设我们修改了系统配置等,那么如何将操作后的容器做成一个镜像供以后使用呢
1.登录阿里云Docker Registry
- docker login --username=zyf1985121 registry.cn-qingdao.aliyuncs.com
2.查看容器的信息找出CONTAINER ID
- docker ps -a
3.将容器打包成镜像执行命令
- docker commit 35f1c2ae1f7e mynewimage
就将容器35f1c2ae1f7e打包为新的镜像mynewimage了
可以执行
- docker images
查看镜像
4.将镜像推送到Registry
- $ sudo docker login --username=zyf1985121 registry.cn-qingdao.aliyuncs.com
- $ sudo docker tag [ImageId] registry.cn-qingdao.aliyuncs.com/ylcaifu/docker:[镜像版本号]
- $ sudo docker push registry.cn-qingdao.aliyuncs.com/ylcaifu/docker:[镜像版本号]
请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。
查看刚刚提交的镜像
此镜像信息环境变量配置
- #add R env
- R_HOME=/usr/lib/R
- PATH=$PATH:$R_HOME/bin
- LD_LIBRARY_PATH=/usr/local/lib/R/site-library/rJava/jri/
- #add java
- JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
- CLASSPATH=$JAVA_HOME/lib/
- PATH=$PATH:$JAVA_HOME/bin:$R_HOME/bin
- export LD_LIBRARY_PATH R_HOME JAVA_HOME CLASSPATH PATH
5.如何使用镜像
5.1:登录阿里云Docker Registry
- sudo docker login --username=zyf1985121 registry.cn-qingdao.aliyuncs.com
5.2. 从Registry中拉取镜像
- docker pull registry.cn-qingdao.aliyuncs.com/ylcaifu/docker:[镜像版本号]