首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头持久化容积

码头持久化容积
EN

Server Fault用户
提问于 2016-04-04 21:45:26
回答 1查看 412关注 0票数 0

为了处理一旦容器关闭就会离开的数据,

我正在尝试实现一个命令来挂载一个持久卷。这样,人们就可以积极地交换容器(用于升级等),而不必担心数据丢失。

代码语言:javascript
复制
root@docker-ubuntu-9:~/apache2-Docker# docker run -it -d -p 9000:9000 -p 8000:8000 -P --name mavenLOG -v /root/apache2-Docker/mavenLOG/:/var/log maven-apache2-test02 
27125546z622992f301788c49ab99279cfe71e30a399b26bbc8a5c83050cd56c
root@docker-ubuntu-9:~/apache2-Docker#
root@docker-ubuntu-9:~/apache2-Docker# docker ps -a
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS                      PORTS                    NAMES
27125546z622        maven-apache2-test02            "/usr/bin/supervisord"   16 seconds ago      Exited (2) 16 seconds ago                            mavenLOG

想要:

(1)主机有此文件夹

代码语言:javascript
复制
root@docker-ubuntu-9:~/apache2-Docker# ls 
all-in-one  mavenLOG

(2)当应用程序启动时,容器会启动/var/log并编写

(3)我希望新的容器尊重已经存在的数据,而不是覆盖或替换,而是从那时起读写。

(4)在持久命令之前,我们使用了用于生成"docker run -it -d -p 9000:9000 -p 8000:8000 maven-apache2-test02“的现有端口

但是容器一直在死去。我在这里做错什么了?

仅仅在Docker中不允许卷/文件夹映射吗?我不需要在容器上安装任何新卷。

更新:

代码语言:javascript
复制
root@docker-ubuntu-9:~# docker logs 27125546z622
/usr/lib/python2.7/dist-packages/supervisor/options.py:295: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
  'Supervisord is running as root and it is searching '

但这个解决了

代码语言:javascript
复制
root@docker-ubuntu-9:~/apache2-Docker/apache2-maven# docker run -it -d -p 9000:9000 -p 8000:8000 -P --name mavenLOG -v /root/apache2-Docker/mavenLOG/:/var/log maven-apache2-test02 /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf
06eff95ea56bfe5333e5b7bc0420530fb879bd922ff13b11435e19fac734eb31
root@docker-ubuntu-9:~/apache2-Docker/apache2-maven# 
root@docker-ubuntu-9:~/apache2-Docker/apache2-maven# 
root@docker-ubuntu-9:~/apache2-Docker/apache2-maven# docker ps
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                                            NAMES
06eff95ea56b        maven-apache2-test02            "/usr/bin/supervisord"   4 seconds ago       Up 3 seconds        0.0.0.0:9000->9000/tcp, 0.0.0.0:8000->8000/tcp   mavenLOG

那么,现在我的“日志”将填充容器的"/var/log"?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2016-04-06 10:31:29

(3)我希望新的容器尊重已经存在的数据,而不是覆盖或替换,而是从那时起读写。

正如@Mario,所提到的,这取决于"maven-apache2-test02“容器。然而,这是可行的。我很快创建了一个设置,看看这里。

从演示中可以看到,两个不同的容器可以同时从主机写入同一个文件,同时考虑到已经退出的数据。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/768144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档