我是Docker的新蜜蜂,我正在尝试创建/使用现有的图像来启动我的应用程序。在阅读了几个stackoverflow帖子和Docker文档之后,我能够使用Docker容器启动我的应用程序。 现在我正在寻找保存修改后的Docker容器的正确方法,这样我就可以通过运行docker命令重用容器来启动我的应用程序。
我看到人们使用$ docker commit来保存docker容器。如果我运行此命令,容器保存在哪里?还有其他人能够下载我保存的容器吗?
我打算将保存的docker容器部署到AWS云。
对此提出任何建议或意见都会有所帮助。
更新帖子 这是我用来下载和构建容器的dockerfile
FROM tomcat:7.0.82-jre8
RUN apt-get update && apt-get -y upgrade
WORKDIR /usr/local/tomcat
COPY /app.war /usr/local/tomcat/webapps/app.war
RUN unzip /usr/local/tomcat/webapps/app.war -d /usr/local/tomcat/webapps/app
RUN apt-get update && apt-get install -y dos2unix
EXPOSE 8080
COPY tomcat-users.xml /usr/local/tomcat/conf/
COPY config1.xml /usr/local/tomcat/webapps/app/conf/
COPY config2.properties /usr/local/tomcat/webapps/app/conf/properties/
COPY config4.properties /usr/local/tomcat/webapps/app/conf/
ENV JAVA_OPTS="-Xms2G -Xmx2G"
# Copy Entrypoint script in the container
COPY ./docker-entrypoint.sh /
RUN dos2unix /docker-entrypoint.sh && apt-get --purge remove -y dos2unix && rm -rf /var/lib/apt/lists/*
ENTRYPOINT ["/docker-entrypoint.sh"]
答案 0 :(得分:2)
If i run this command, where does the container gets saved ?
在您的本地计算机上。只需输入docker images
,您就会看到它。
will anybody else able to download my saved container ?
不,因为它只在您的本地计算机上。
但这不是你应该如何使用docker的方式!
不要修改正在运行的容器!相反,写一个Dockerfile
并通过这个Dockerfile构建你的图像。
答案 1 :(得分:0)
通常,最好使用Dockerfiles管理图像 记录和维护的方式。
...
提交操作不包含卷中包含的任何数据 安装在容器内。
提交容器:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c3f279d17e0a ubuntu:12.04 /bin/bash 7 days ago Up 25 hours desperate_dubinsky
197387f1b436 ubuntu:12.04 /bin/bash 7 days ago Up 25 hours focused_hamilton
$ docker commit c3f279d17e0a svendowideit/testimage:version3
f5283438590d
$ docker images
REPOSITORY TAG ID CREATED SIZE
svendowideit/testimage version3 f5283438590d 16 seconds ago 335.7 MB
正如您在示例中所见,保存的图像存储在运行docker commit