Tag: 窗撰写

如何用Docker加载mysql扩展dockerfile,用Pfm和Nginx和Mysql编写

我是Docker&Compose的新手。 我用nginx,fpm&mysql创build了一个Docker.yml文件。 docker-compose.yml运行时没有错误 我可以执行php命令(即在浏览器中查看php命令的结果),但是我不能执行mysqli命令。 phpinfo.php显示“–enable-mysqlnd”,它似乎被安装。 configuration文件(php.ini)path/ usr / local / etc / php是没有任何php.ini …我不知道该怎么做才能得到这个MySQL命令的工作。 我想我可能需要为PHP创build一个Dockerfile并在提取它们之后添加mysql扩展…但是不确定是否需要….或者如何正确执行 – 感谢您的帮助! 撰写文件,运行并启动3 Docker包含我可以连接到: 泊坞窗,compose.yml version: '2' services: web: image: nginx:latest ports: – "80:80" volumes: – ./code:/code – ./site.conf:/etc/nginx/conf.d/default.conf networks: – code-network links: – php php: image: php:fpm volumes: – ./code:/code networks: – code-network links: – db db: image: mysql:5.7 […]

Docker的mysql即时退出

当我运行我的docker-compose up命令时,我有一个Mysql Docker出现问题。 这是我docker-compose.yml文件: version: "2" services: web: build: ./app links: – "db-mongo:db-mongo" – "db-mysql:db-mysql" ports: – "443:3000" volumes: – "./app:/src" – "/src/.sass-cache" – "/src/node_modules" – "/src/lib" db-mongo: build: ./mongo ports: – "27017:27017" volumes: – "./mongo/db:/data" db-mysql: image: mysql ports: – "3306:3306" volumes: – "./mysql/db:/var/lib/mysql" – "./mysql/log:/var/log/mysql" – "./mysql/conf.d:/etc/mysql/conf.d" environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: testt 文件夹./mysql/db和./mysql/log是空的。 […]

docker-compose postgresql在python应用程序中的实现

我正在构build一个Python应用程序,我正试图在Docker中运行它。 (我的作品完全在virtualenv没有docker。) 所以,我的应用程序由config.py文件和其他使一切正常的文件组成,但在这种情况下是不重要的。 我的configuration文件如下所示: SQLALCHEMY_DATABASE_URI = "postgresql+psycopg2://gimtest:gimtest@localhost:5432/gimtest-users" 应用程序需要postgresql在应用程序启动之前运行,所以我尝试使用Docker-Compose。 我的docker-compose.yml如下所示: version: '2' services: web: build: ./web ports: – "5000:5000" depends_on: – postgres links: – postgres – elastic expose: – 5000 command: "python run.py" postgres: image: postgres:9.5 expose: – 5432 environment: POSTGRES_USER: "gimtest" POSTGRES_PASSWORD: "gimtest" POSTGRES_DB: "gimtest-users" elastic: image: elasticsearch:2.3 现在问题是我无法连接到postgresql数据库。 (至less这是编译说,因为它从python应用程序抛出一个错误,没有postgresql运行在指定的URL(在config.py中)。 我怎样才能修复这个url,以便它能正常工作?

创build一个docker-mongo + memcache + ES的PHP驱动程序

我是新来的Docker,我试图dockerize现有的应用程序。 目前该应用程序是一个全function于一身的机器,它具有PHP服务器和Web应用程序以及mongo + memcache +弹性search。 我想要具有以下内容:1.基于安装PHP的Web应用程序的容器。 我认为,nimmis / apache-php5可以是一个不错的select。 但是我也需要在这个容器中使用mongo,elastic-search和memcache的PHP驱动程序,而且我不能让所有的东西都起作用。 2. MongoDB的容器(使用最stream行的https://hub.docker.com/_/mongo/)3 .用于弹性search的容器4.用于memcache的容器。 我想把它全部包装在一个像这样的docker撰写文件(这不是一个工作的例子,因为我没有驱动程序 version:'2' services: web: build:. volumes: -.:/var/www/web ports: -"80:80" links: -db:mongo -redis -memcached:memcached -elk db: image:mongo:latest ports: -"27017:27017" redis: image:bitnami/redis:latest ports: -"6379:6379" elk: image:sebp/elk ports: -"5601:5601" -"9200:9200" -"5044:5044" memcached: image:memcached:latest ports: -"11211:11211" 我也明白,在我的代码中,我将不得不将我的本地主机引用replace为我在链接中给出的别名(如db)。 一旦我将移动到分开的机器,它将如何工作? 任何最佳实践?

在docker-compose中运行Django

在Docker容器中启动django项目时出现问题。 我的Dockerfile如下所示: FROM python:2.7 ADD . /code WORKDIR /code RUN pip install -r requirements.txt EXPOSE 8000 requirements.txt包含成功安装django的单行Django 。 我docker-compose.yml有以下内容: version: '2' services: web: build: ./web command: python manage.py runserver 0.0.0.0:8000 ports: – "8000:8000" volumes: – ./web:/code 要创build一个项目,我打电话给: docker-compose run web python django-admin.py startproject web . 其中崩溃与以下消息: python: can't open file 'django-admin.py': [Errno 2] No such […]

Docker的nginx代理主机

简短的介绍: 运行在docker上的Nginx,如何configurationnginx,以便将调用转发给主机。 详细描述: 我们有一个Web应用程序与后端的几个通信(让我们说rest1,rest2和rest3)。 我们负责rest1 。 让我们考虑,我开始rest1手动在我的电脑上运行2345端口。 我想nginx(在rest1运行)将所有调用redirect到rest1到我自己的运行实例(注意,实例在主机上运行,​​不是任何容器,也不在docker中)。 而rest2和rest3到一些其他docker节点或可能是一些其他的服务器(谁在乎)。 我正在寻找的是: docker-compose.ymlconfiguration(如果需要)。 nginxconfiguration。 提前致谢。

无法访问在Docker上find的文件(无法打开stream:连接超时)

我有以下的Docker容器设置来为我的CMS提供动力,但是我在extensions卷中托pipe的PHP脚本中遇到了一些主要问题。 version: '2' services: bolt: image: rossriley/docker-bolt:3.2 network_mode: bridge environment: – BOLT_TITLE=Red Moon Workshop ports: – 80:80 volumes: – ./db-data:/var/www/html/app/database – ./files:/var/www/html/public/files – ./app/config:/var/www/html/app/config – ./public/theme/redmoon:/var/www/html/public/theme/redmoon – ./extensions:/var/www/html/extensions restart: always 在我的extensions卷内,我有一个PHP脚本,它从存储在同一主机中的文件中读取头文件。 脚本通常稍微复杂一些,但是我把它简化为一个失败点: $image = 'http://img.gdocker.com/php/1497665310_slide-splash-bg.png'; $headers = get_headers($image); return $headers; 该错误抱怨说由于超时而无法打开stream,但是如果我在浏览器中打开URL,它就可以正常工作。 An exception has been thrown during the rendering of a template ("Warning: get_headers(http://img.gdocker.com/php/1497665310_slide-splash-bg.png): failed […]

如何将种子数据放入SQL Server泊坞窗图像?

我有一个使用ASP.NET Core和SQL Server的项目。 我正在试图把所有东西放在docker集装箱。 对于我的应用程序,我需要在数据库中有一些初始数据。 我能够从微软(微软/ mssql-server-linux)使用dockerSQL服务器图像,但它(显然)是空的。 这是我的docker-compose.yml: version: "3" services: web: build: .\MyProject ports: – "80:80" depends_on: – db db: image: "microsoft/mssql-server-linux" environment: SA_PASSWORD: "your_password1!" ACCEPT_EULA: "Y" 我有一个SQL脚本文件,我需要在数据库上运行以插入初始数据。 我find了一个mongodb的例子 ,但我找不到可以使用哪个工具来代替mongoimport。

如何确保docker容器中的MySQL使用docker-entrypoint-initdb.d中的脚本进行初始化?

我的dockerfile: FROM mysql/mysql-server:5.7 COPY ./create_db.sql /docker-entrypoint-initdb.d COPY ./create_tables.sql /docker-entrypoint-initdb.d COPY ./insert_types.sql /docker-entrypoint-initdb.d COPY ./my.cnf /etc/mysql/conf.d RUN chmod -R 755 /docker-entrypoint-initdb.d EXPOSE 1307 输出mysql容器的日志: docker logs 8742 [Entrypoint] MySQL Docker Image 5.7.20-1.1.2 [Entrypoint] Starting MySQL 5.7.20-1.1.2 这似乎…短。 (假冒btw密码) 容器中init文件夹的内容; 以下命令来自容器内部: bash-4.2# ls -alh docker-entrypoint-initdb.d total 20K drwxr-xr-x 1 root root 4.0K Nov 3 20:09 . drwxr-xr-x […]

Windows中的Docker中的MySQL:忽略全局可写的文件

我正在使用Docker-Compose和MySQL Image来启动一个MySQL数据库,作为大型项目的一部分。 正如MySQL映像文档中所述,我将自定义configuration文件映射到/etc/mysql/conf.d/config-file.cnf : database: environment: MYSQL_ROOT_PASSWORD: foo ports: – "3306:3306" volumes: – "./mysql/conf.d/:/etc/mysql/conf.d" image: mysql:5.5 这在Mac OS X上作为主机系统(使用docker-machine )运行时效果很好,但在Windows上运行时(也使用docker-machine )会失败。 MySQL抱怨/etc/mysql/conf.d/config-file.cnf是世界可写的 Warning: World-writable config file '/etc/mysql/conf.d/config-file.cnf' is ignored 进入数据库容器时,文件确实显示为具有0777权限。 这似乎是由于主机文件系统的权限(Windows)。 有什么方法可以改变这个吗? 我试过以只读模式挂载卷,但是文件仍然具有相同的权限。 任何其他方式解决这个问题? 目前,我将该文件挂载到容器中的另一个文件夹,然后将其作为启动命令的一部分复制/ chmod到所需的位置: database: environment: MYSQL_ROOT_PASSWORD: foo ports: – "3306:3306" volumes: – "./mysql/conf.d/:/usr/local/mysqlconf" image: mysql:5.5 command: > bash -c " cp /usr/local/mysqlconf/*.cnf […]