Я потратил много времени, чтобы вызвать контейнер Docker под MacOS Mojave 10.14.16. Сначала я создал образ докера со следующим
# Set the base image to Ubuntu
FROM ubuntu:18.04
# Update repository sources list and install gnupg2
RUN apt-get update && apt-get install -y gnupg2 && apt-get install -y curl
# Add the package verification key
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
# Add MongoDB to repository sources list
RUN echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' > tee /etc/apt/sources.list.d/mongodb.list
# Update repository source list
RUN apt-get update
# Install MongoDB
RUN apt-get install -y mongodb
# Create the data directory
RUN mkdir -p /data/db
# Create the bin folder to be abble to update easystock DB
RUN mkdir -p /home/bin
# Expose default port
EXPOSE 27017
# Default port to execute the entrypoint
CMD ["--port 27017","/bin/sh"]
# Set default container command
ENTRYPOINT usr/bin/mongodb
Затем создайте docker-compose для вызова сервисов:
version: '3.4'
services:
database:
container_name: "easystock"
image: macos-mongodb:latest
restart: unless-stopped
environment:
MONGO_INITDB_ROOT_USERNAME: "xxxxxxx"
MONGO_INITDB_ROOT_PASSWORD: "xxxxxxx"
MONGO_INITDB_DATABASE: "xxxxxxx"
ports:
- 27017:27017
volumes:
- ./init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro
- ./db:/data/db
- ./bin:/bin
networks:
- easystock-network
volumes:
db:
bin:
networks:
easystock-network:
driver: bridge
Когда я запускаю: docker-compose up, получилследующая ошибка:
Создание easystock ... ошибка
ОШИБКА: для easystock Невозможно запустить базу данных службы: сбой при создании OCI: container_linux.go: 346: вызван запуск процесса контейнера "exec: \ "/ bin / sh \": stat / bin / sh: нет такого файла или каталога ": неизвестно
Я пытался добавить" / bin / sh "в CMD файла Dockerfileно не работает ...
Команда сборки docker в порядке, и получите правильный образ с образами докера.
Что отсутствует или неверно в этой конфигурации?
С уважением