我有以下docker-compose.yml文件:
version: '3'
services:
maria_service:
build: ./db_maria
restart: always
environment:
MYSQL_DATABASE: mariadb
MYSQL_USER: joel
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: password
volumes:
- ./db:/var/lib/mysql
drupal_service:
build: ./website
restart: always
ports:
- 8080:80
volumes:
- /var/www/html/modules
- /var/www/html/profiles
- /var/www/html/themes
# this takes advantage of the feature in Docker that a new anonymous
# volume (which is what we're creating here) will be initialized with the
# existing content of the image at the same location
- /var/www/html/sites
depends_on:
- maria_service
Run Code Online (Sandbox Code Playgroud)
这是我的工作目录: …
我正在参加黑客马拉松。现在是清晨,我要在太阳升起之前睡觉。
我希望这里有人知道如何安装 Compose for Docker,因为它是运行 Gitcoin Web docker 所必需的。我是 Docker 和 NixOS 的新手。
我已将其下载到 /usr/bin/ 并对其进行 chmod,但它无法运行。唯一的其他文件是一个名为 env 的可执行文件。
在 docker compose v3 中混合使用和不使用本地主机路径的命名卷的正确方法是什么?这样我就收到 YML 错误:
volumes:
/mnt/volume-part1:/volume
conf:
vhost:
html:
certs:
Run Code Online (Sandbox Code Playgroud)
然后我想参考容器内的体积......
好的,事情是这样的:我正在使用 Docker-Compose 创建 3 个服务:一个用于平台,一个用于 db (mysql),第三个用于 PHPMyAdmin
\n\n我正在尝试使用 mysqli 连接到端口 5001 上的数据库。
\n\n\xe2\x80\x99s 有趣的是,我可以使用具有相同参数的 SQL Workbench 和 PHPMyAdmin 连接到数据库,但是在使用 PHP MySQLi 连接时出现错误(如下所示)
\n\n平台:
\n\n $db = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PORT);\nRun Code Online (Sandbox Code Playgroud)\n\n主机是 127.0.0.1,DB_USER 是 root 及其各自的密码,我提供了 DB_Name,端口是 5001。
\n\n我的 Docker-Compose.yml 如下所示:
\n\nversion: \'3.3\'\n\nservices:\n platform:\n build: .\n ports:\n - "5000:80"\n links:\n - db:mysql\n\n db:\n image: mysql:5.7\n volumes:\n - db_data:/var/lib/mysql\n restart: always\n ports:\n #- "5001:80"\n - "5001:3306"\n environment:\n MYSQL_ROOT_PASSWORD: some_great_password_here\n MYSQL_DATABASE: DB_NAME_HERE\n MYSQL_USER: USERNAME\n …Run Code Online (Sandbox Code Playgroud) 我想将 MySQL 与 Django 集成,MySQL 在 Docker 上运行,我将这样的配置与 Django 连接到 db docker:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'restaurant',
'HOST': 'db',
'PORT': '3306',
'USER': 'root',
'PASSWORD': 'root',
'default-character-set': 'utf8',
'OPTIONS': {
'init_command': 'SET default_storage_engine=INNODB',
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是当 Django 尝试连接到 mysql 数据库时,它会抛出以下错误:
我尝试使用 pip 安装 mysqlclient,但出现此错误:
这些是docker-compose.dev.yml和Dockerfile配置。
如果有人需要完整的代码,您可以在这里找到它,并使用docker-compose -f docker-compose.dev.yml up --build.
谢谢 :)。
我有以下 docker-compose.yml 文件:
version: "3"
services:
dbs-poa-loc001d:
image: percona
volumes:
- ./mysql_backup:/var/lib/mysql
- ./create_databases:/docker-entrypoint-initdb.d
hostname: "dbs-poa-loc001d"
container_name: dbs-poa-loc001d
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
ports:
- "3306:3306"
networks:
- azion-network
...
Run Code Online (Sandbox Code Playgroud)
当我尝试创建 dbs-poa-loc001d 服务(项目的数据库)时,出现以下错误:
Starting dbs-poa-loc001d ... done
Attaching to dbs-poa-loc001d
dbs-poa-loc001d | Initializing database
dbs-poa-loc001d | mysqld: Can't create/write to file '/var/lib/mysql/is_writable' (Errcode: 13 - Permission denied)
dbs-poa-loc001d | 2019-01-11T01:17:52.060984Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
dbs-poa-loc001d | 2019-01-11T01:17:52.062286Z …Run Code Online (Sandbox Code Playgroud) 我有一个 dockerfile
\n\n\n\nFROM alpine:3.7\n\nRUN apk --no-cache add\nphp7\nphp7-fpm\nphp7-pdo\nphp7-pdo_mysql\nphp7-mcrypt\nphp7-mbstring\nphp7-xml\nphp7-openssl\nphp7-json\nphp7-phar\nphp7-zip\nphp7-dom\nphp7-session\nphp7-zlib &&\nphp7 -r "copy(\'http://getcomposer.org/installer\', \'composer-setup.php\');" &&\nphp7 composer-setup.php --install-dir=/usr/bin --filename=composer &&\nphp7 -r "unlink(\'composer-setup.php\');" &&\nln -sf /usr/bin/php7 /usr/bin/php &&\nln -s /etc/php7/php.ini /etc/php7/conf.d/php.ini\n\nRUN set -x\n&& addgroup -g 82 -S www-data\n&& adduser -u 82 -D -S -G www-data www-data\n\nCOPY . /src\nADD .env.example /src/.env\nWORKDIR /src\nRUN ["/bin/sh", "-c"," php artisan key:generate"]\nRUN chmod -R 777 storage\nCMD php artisan serve --host=0.0.0.0\nRun Code Online (Sandbox Code Playgroud)\n\n在运行它的过程中,我不断得到
\n\nCreating network "portal-modules_default" with the default driver \nBuilding fingerprinting \n> ERROR: Dockerfile parse error line 4: …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法将同一端口映射到两个不同的端口,每个端口用于不同网络中的另一个容器。考虑以下 docker-compose 场景:
services:
web:
build: .
ports:
- "8080:8080"
networks:
Net1:
Net2:
serv1:
image: tomcat:7.0.92-jre8
networks:
Net1:
serv2:
image: tomcat:7.0.92-jre8
networks:
Net2:
Run Code Online (Sandbox Code Playgroud)
现在我真正想做的是实际映射“web”服务端口 8080,以便 serv1 可以将其用作 8081,而 serv2 将其用作 8082。
这可能吗?
谢谢
我刚刚开始使用 Docker。
我正在开发另一个开发人员编码的项目。在项目 Docker 容器中,我有三个微服务(aggregatore、classificatore、testmicro),每个服务都使用 python 模块logging进行调试。
我的问题是我不知道在哪里可以查看输出logging。
docker-compose.yml
version: '2.1'
services:
files:
image: busybox
volumes:
[..]
grafana:
[..]
prometheus:
[..]
aggregatore:
[..]
classificatore:
build: classificatore/.
volumes:
- [..]
volumes_from:
- files
ports:
- [..]
command: ["python", "/src/main.py"]
depends_on:
rabbit:
condition: service_healthy
testmicro:
[..]
rabbit:
[..]
Run Code Online (Sandbox Code Playgroud)
我是终端,我运行
$docker-compose up -d
Run Code Online (Sandbox Code Playgroud)
这将启动所有微服务。
让我们关注分类器服务。
分类器/Dockerfile
FROM python:3
RUN mkdir /src
ADD requirements.txt /src/.
WORKDIR /src
RUN pip install -r requirements.txt
ADD . /src/.
RUN mkdir -p /tmp/reqdoc
CMD …Run Code Online (Sandbox Code Playgroud) 每个人,
我很难设置一个 MongoDB 容器来拥有 root 密码并自动创建一个权限较低的新用户(这将是我的应用程序用户)。
理想情况下,我应该只有一些脚本和 docker-compose 配置。
我尝试添加 MONGO_INITDB_ROOT_USERNAME 和 MONGO_INITDB_ROOT_PASSWORD 但它们似乎不起作用。他们做了一些事情,因为当我像这样启动容器时,我不能只连接到 mongo shell 并运行所有命令(并且传递用户名和密码将引发未经授权的错误)。
然后我考虑添加一个脚本,/docker-entrypoint-initdb.d/但它们似乎没有运行。它们不会显示在控制台上。此外,我只是放了一个像这样的JavaScript,我不确定它们是否会工作:
var db = connect("mongodb://localhost/admin");
db.createRole(
{
role: "somerole",
privileges: [
{
actions: [ "find", "update", "insert" ],
resource: { db: "mydb", collection: "" } <--- does it means all colections od database mydb?!?!
}
],
roles: [ ]
}
)
db.createUser(
{
user: "admin",
pwd: "adminpass",
roles: [ { role: "userAdminAnyDatabase", db: "mydb" } ]
}
)
db.createUser(
{
user: …Run Code Online (Sandbox Code Playgroud) docker ×10
docker-compose ×10
dockerfile ×2
php ×2
django ×1
drupal ×1
mongodb ×1
mysql ×1
mysqli ×1
nix ×1
nixos ×1
php-7 ×1
python ×1
ubuntu-16.04 ×1