我按照官方文档安装了docker-compose:http://docs.docker.com/compose/install/
现在我要卸载docker-compose.
$ docker-compose -h
Run Code Online (Sandbox Code Playgroud)
没有提供卸载命令,官方文档也没有提供任何说明.
我删除了我的docker-compose.yml文件和/ usr/local/bin/docker-compose,但我想确保这一切都是.
我在MacbookPro上使用OSX Yosemite 10.10.3.
编辑:关于我遵循的安装说明,我没有使用pip.我使用了记录的curl命令:
$ curl -L https://github.com/docker/compose/releases/download/1.3.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
Run Code Online (Sandbox Code Playgroud) 我有以下结构:
.
..
docker/cli/Dockerfile
tests/docker-compose.yml
docker-compose.yml
Run Code Online (Sandbox Code Playgroud)
在我,tests/docker-compose.yml我有以下服务定义:
services:
test:
build:
context: ../
dockerfile: ../docker/cli/Dockerfile
...
Run Code Online (Sandbox Code Playgroud)
当做docker-compose build我得到:
Building test
ERROR: Forbidden path outside the build context: ../docker/cli ()
Run Code Online (Sandbox Code Playgroud) 这些天我正在阅读很多关于如何设置和运行docker堆栈的内容.但我总是错过的一件事是如何设置特定容器通过他们的域名响应访问,而不仅仅是使用docker dns响应他们的容器名称.
我的意思是,说我有一个外部可访问的微服务,例如:users.mycompany.com,它将进入处理用户api的微服务容器
然后,当我尝试访问customer-list.mycompany.com时,它将进入处理客户列表的微服务容器
当然,使用docker dns我可以访问它们并将它们链接到docker网络,但这只适用于想要访问容器到容器,而不是Internet到容器.
有人知道我应该怎么做吗?或者是设置它的最佳方式.
我想知道以下配置的等价物,以适应docker-composer.yml的第3版!volumes_from不再有效所以我应该跳过数据卷并将其替换为顶级卷?
version: '2'
services:
php:
build: ./docker-files/php-fpm/.
volumes_from:
- data
working_dir: /code
links:
- mysql
nginx:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
volumes_from:
- data
links:
- php
data:
image: tianon/true
volumes:
- .:/code
Run Code Online (Sandbox Code Playgroud) 我想在docker-compose.yml文件中使用环境变量创建一个MySQL数据库,但它无法正常工作.我有以下代码:
# The Database
database:
image: mysql:5.7
volumes:
- dbdata:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: homestead
MYSQL_USER: root
MYSQL_PASSWORD: secret
ports:
- "33061:3306"
Run Code Online (Sandbox Code Playgroud)
有人可以解释这个变量的功能吗?
我想在同一台服务器上运行多个项目使用MySQL docker容器.
使用docker-compose v3文件,我只是在每个项目中都有相同的mysql容器配置,它们具有相同的container_name:
version: "3"
services:
app1:
image: foo
links:
- mysql
mysql:
image: mysql/mysql:5.7
container_name: shared_mysql
Run Code Online (Sandbox Code Playgroud)
第二个应用程序有一个类似的docker-compose.yml文件,但app2代替app1.
运行docker-compose up --no-recreate时app2,我收到一个错误:
Creating shared_mysql ... error
ERROR: for shared_mysql
Cannot create container for service mysql: Conflict.
The container name "/shared_mysql" is already in use by container "deadbeef".
You have to remove (or rename) that container to be able to reuse that name.
Run Code Online (Sandbox Code Playgroud)
如何在多个docker项目之间共享MySQL容器?
我有一个 docker-compose 设置来启动我的 SpringBoot 应用程序和一个 MySQL 数据库。如果数据库先启动,那么我的应用程序可以成功连接。但是如果我的应用程序先启动,还没有数据库存在,所以应用程序抛出以下异常并退出:
app_1 | 2018-05-27 14:15:03.415 INFO 1 --- [ main]
com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
app_1 | 2018-05-27 14:15:06.770 ERROR 1 --- [ main]
com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization
app_1 | com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:
Communications link failure
Run Code Online (Sandbox Code Playgroud)
我可以编辑我的 docker-compose 文件以确保在应用程序启动之前数据库始终处于启动状态,但我希望应用程序能够自己处理这种情况,而不是在无法到达数据库地址时立即退出。
有多种方法可以在 application.properties 文件中配置数据源,以使应用程序重新连接到数据库,如此处和此处所述。但这不适用于到数据源的启动连接。
如何让我的 SpringBoot 应用程序在启动时以给定的时间间隔重试连接到数据库,直到它成功连接到数据库?
在print()由Docker Compose管理的Docker容器中运行的Python应用程序中使用语句时,仅sys.stderr记录输出。print()没有看到Vanilla 语句,因此:
print("Hello? Anyone there?")
Run Code Online (Sandbox Code Playgroud)
...永远不会出现在常规日志中:
(您可以在我的应用中看到其他库显式打印的其他日志,但没有我自己的调用。)
如何避免我的print()电话被忽略?
I want to create some neural network in tensorflow 2.x that trains on a GPU and I want to set up all the necessary infrastructure inside a docker-compose network (assuming that this is actually possible for now). As far as I know, in order to train a tensorflow model on a GPU, I need the CUDA toolkit and the NVIDIA driver. To install these dependencies natively on my computer (OS: Ubuntu 18.04) is always quite a pain, as there are …
每当我尝试 docker-compose up 任何项目时,我都会收到以下错误。我试过使用和不使用 sudo 我只在这台机器上有这个问题。我能够在 Mac 和 Amazon WorkSpace 上运行相同的容器。
(myslabs) [austin@localhost myslabs]$ sudo docker-compose up
[sudo] password for austin:
Traceback (most recent call last):
File "urllib3/connectionpool.py", line 677, in urlopen
File "urllib3/connectionpool.py", line 392, in _make_request
File "http/client.py", line 1252, in request
File "http/client.py", line 1298, in _send_request
File "http/client.py", line 1247, in endheaders
File "http/client.py", line 1026, in _send_output
File "http/client.py", line 966, in send
File "docker/transport/unixconn.py", line 43, in connect
ConnectionRefusedError: [Errno 111] Connection refused
During …Run Code Online (Sandbox Code Playgroud) docker-compose ×10
docker ×8
mysql ×2
centos8 ×1
dns ×1
gpu ×1
hikaricp ×1
linux ×1
macos ×1
nvidia ×1
python ×1
spring ×1
spring-boot ×1
tensorflow ×1