Skip to content
This repository has been archived by the owner on Dec 19, 2023. It is now read-only.

docker优化 #68

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

MonsterTan
Copy link
Contributor

增加docker-compose 文件,可以通过一行命令
docker-compose up
来启动脚本容器,而不是通过原始的docker build -t . && docker run ***等复杂的命令。
可以通过docker-compose up -d来实现后台抢。需要docker-compose 环境,如果有docker,则只需pip install docker-compose即可,简化环境运行。如果可以建议在requirement.txt加入docker-compose的环境。

@testerSunshine
Copy link
Owner

晚上我去测试下,感谢

@MonsterTan
Copy link
Contributor Author

MonsterTan commented Jan 4, 2019

目前只是针对你做的做了个compose的封装。
不过发现还有点问题.

启动容器后配置文件无法修改的问题。

(因为你一开始是将所有的内容COPY进入到容器中去,所以后期在外头更改了配置文件之后,如更换站点,时间等。即使重启容器也无法更新配置,这样做是不对的。这样的话你的docker 镜像仅仅只是针对其中的一个配置所作的,通用性并不强。)
此种问题可以通过使用文件挂载的方式解决,这样做的好处是即使后期修改配置文件后,直接更新命令就可以重新抢票。更加通用。

需要的话到时候可以解决一下这个问题。

@MonsterTan
Copy link
Contributor Author

花了下午的上班时间给你优化了一下,望合并,谢谢。
修改内容:

  1. 优化配置了 docker-compose.yamlDockerfile文件。
  2. 添加了docker.shshell脚本文件,简化docker-compose控制命令
    修改结果:
    现在启动 docker容器只需通过简单的sudo ./docker.sh run即可创建镜像并启动容器。
    在容器运行这段期间也可以修改ticket_config.yml文件,之后通过命令sudo ./docker.sh restart重新启动容器即可,中间过程不会重新创建镜像,节省时间。

docker.sh脚本内容

  1. run
    ./docker run 创建镜像并启动容器(若镜像已经存在不会再再创建)
  2. restart
    ./docker restart 重新启动容器,一般再修改配置文件之后使用此命令
  3. rm
    ./docker rm 删除容器
  4. drun
    ./docker drun后台运行此容器

注:所有的命令都要求在root命令下执行,如需要任何变动请修改docker.sh文件

@testerSunshine
Copy link
Owner

老哥,要不要先合下我代码,冲突的太多了

@wangshuai-007
Copy link

wangshuai-007 commented Sep 11, 2019

在windows下执行docker-compose up经常会报错:

Creating network "12306_default" with the default driver
Creating 12306ticket ... error                                                                                                                         
ERROR: for 12306ticket  Cannot start service ticket: error while creating mount source path '/host_mnt/d/xxx/12306': mkdir /host_mnt/d: file exists

重启docker和重新build可以解决,但这都太耗时间了,是不是dockerfile有问题?

@MonsterTan
Copy link
Contributor Author

在windows下执行docker-compose up经常会报错:

Creating network "12306_default" with the default driver
Creating 12306ticket ... error                                                                                                                         
ERROR: for 12306ticket  Cannot start service ticket: error while creating mount source path '/host_mnt/d/xxx/12306': mkdir /host_mnt/d: file exists

重启docker和重新build可以解决,但这都太耗时间了,是不是dockerfile有问题?

我看了看dockerfile应该没什么问题,也许是因为现在版本升级了,已经是python3了,镜像的基础还是根据python2.7.15来做的。你可以试着升级一下镜像的base版本到python3. 我最近这边没有可用的相关电脑,估计得稍晚才能看看这个问题。

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants