docker-compose не может начать - PullRequest
0 голосов
/ 23 мая 2019

У меня был предыдущий успех после этого пошагового руководства по созданию серии Docker-контейнеров, которые позволяли мне использовать MySQLI, PHP и phpmyadmin:

https://gist.github.com/jcavat/2ed51c6371b9b488d6a940ba1049189b

Я решил попробовать еще раз и сделать несколько настроек, таких как попытка PDO вместо MYSQLI.

Начиная с файла docker-compose.yml:

version: "3.7"
services:
www:
    build: .
    ports: 
        - "8001:80"
    volumes:
        - ./www:/var/www/html/
    links:
        - db
    networks:
        - default
db:
    image: mysql:5.7.13
    ports: 
        - "3306:3306"
    environment:
        MYSQL_DATABASE: myDb
        MYSQL_USER: user
        MYSQL_PASSWORD: test
        MYSQL_ROOT_PASSWORD: test
    volumes:
        - ./dump:/docker-entrypoint-initdb.d
        - persistent:/var/lib/mysql
    networks:
        - default
phpmyadmin:
    image: phpmyadmin/phpmyadmin
    links: 
        - db:db
    ports:
        - 8000:80
    environment:
        MYSQL_USER: user
        MYSQL_PASSWORD: test
        MYSQL_ROOT_PASSWORD: test
volumes:
  persistent:

Вот мой Dockerfile:

FROM php:7.0.30-apache 
RUN docker-php-ext-install pdo pdo_mysql

Теперь, если вы воспользуетесь ссылкой на учебник выше, я изменил файл myDb.sql. Вместо того, чтобы создавать таблицу под названием «Персона», я создал таблицу под названием «пользователи». Я не хотел вставлять весь файл myDb.sql, но вот часть CREATE TABLE:

CREATE TABLE `users` (
  `id` int(11) NOT NULL,
  `firstName` varchar(30) NOT NULL,
  `lastName` varchar(50) NOT NULL,
  `username` varchar(20) NOT NULL,
  `email` varchar(100) NOT NULL,
  `department` varchar(50) NOT NULL,
  `title` varchar(30),
  `phone` varchar(30),
  `addDate` datetime(),
  `addUser` varchar(30) NOT NULL,
  `lastLogin` datetime()
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

Затем вставка:

INSERT INTO `users` (`id`, `firstName`, `lastName`, `username`, `email`, `department`, `title`, `phone`, `addDate`, `addUser`) VALUES (1, 'William', 'Wheaton', 'usa.wwheaton', 'usa.wwheaton@gmail.com', 'Engineering', 'Ensign', '7577771212', NOW(), 'admin');   

Я также добавил еще один скрипт создания таблицы, который не буду включать, поскольку этот вопрос становится длинным.

При запуске команды 'docker-compose up' я получаю следующую ошибку:

Building www
Traceback (most recent call last):
  File "site-packages/dockerpycreds/store.py", line 74, in _execute
  File "subprocess.py", line 336, in check_output
  File "subprocess.py", line 418, in run
subprocess.CalledProcessError: Command '['/usr/local/bin/docker-credential-osxkeychain', 'get']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "site-packages/docker/auth.py", line 129, in _resolve_authconfig_credstore
  File "site-packages/dockerpycreds/store.py", line 35, in get
  File "site-packages/dockerpycreds/store.py", line 87, in _execute
dockerpycreds.errors.StoreError: Credentials store docker-credential-osxkeychain exited with "The user name or passphrase you entered is not correct.".

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
 File "docker-compose", line 6, in <module>
 File "compose/cli/main.py", line 71, in main
 File "compose/cli/main.py", line 127, in perform_command
 File "compose/cli/main.py", line 1080, in up
 File "compose/cli/main.py", line 1076, in up
 File "compose/project.py", line 475, in up
 File "compose/service.py", line 358, in ensure_image_exists
 File "compose/service.py", line 1082, in build
 File "site-packages/docker/api/build.py", line 251, in build
 File "site-packages/docker/api/build.py", line 307, in _set_auth_headers
 File "site-packages/docker/auth.py", line 96, in resolve_authconfig
 File "site-packages/docker/auth.py", line 146, in _resolve_authconfig_credstore
docker.errors.DockerException: Credentials store error: StoreError('Credentials store docker-credential-osxkeychain exited with "The user name or passphrase you entered is not correct.".',)
[49981] Failed to execute script docker-compose

Я не уверен, почему это не работает. Я даже не уверен, почему в сообщении об ошибке указано, что я использую неправильное имя или пароль.

Чего мне не хватает или что мне нужно исправить, чтобы это работало правильно?

1 Ответ

1 голос
/ 14 июля 2019

Это проблема со сборкой Docker;потому что в вашем случае вход в концентратор докеров должен произойти сбой (это могло произойти с несколькими регистрационными записями входа в док в вашем файле конфигурации)

Если вы хотите быстро исправить это, удалите файл .docker/config.json и окно входа в систему, прежде чем вызапустите docker-compose up

sudo rm ~/.docker/config.json

docker login

docker-compose up

Примечание: новый файл ~/.docker/config.json будет создан при вашем успешном входе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...