Скрытый файл .env не копируется с помощью Docker COPY

У меня есть Dockerfile и есть такой синтаксис, как этот COPY ["Gemfile", "Gemfile.lock", "Procfile", ".env", "/huginn/"]

Я использую RUN/bin/bash -l -c "ls -a" чтобы проверить статус файла, я обнаружил, что файл.env не копируется на изображение.

Я меняю имя файла.env на test.env и использую COPY ["Gemfile", "Gemfile.lock", "Procfile", "test.env", "/huginn/"], затем он работает, test.env is скопированы на изображение.

Кто-нибудь знает, почему? И любое решение может разрешить имя файла.png COPY.env.

Ответ 3

поделитесь файлом dockerfile, он может корректно работать

FROM ruby:2.3

MAINTAINER Tomato <[email protected]>

ENV DEBIAN_FRONTEND noninteractive
ENV LANG C.UTF-8
ENV RAILS_VERSION 5.0.1

# install rails && bundler
RUN gem install rails --version "$RAILS_VERSION"

WORKDIR /huginn

# copy huginn config file
COPY ["Gemfile", "Gemfile.lock", "Procfile", ".env", "/huginn/"]
COPY lib/gemfile_helper.rb /huginn/lib/
COPY vendor/gems /huginn/vendor/gems

# run bundle install
RUN bundle install

# copy huginn
COPY . /huginn/
RUN ls -a

И есть.dockerignore:

.git
tmp
log
doc
spec
media
.openshift
.bundle
vendor/bundle
db/*.sqlite3
public/system/*
coverage
.travis.yml
build_docker_image.sh
# Copied from .gitignore
*.rbc
*.sassc
.sass-cache
capybara-*.html
.rspec
!/tmp/.gitkeep
**.orig
rerun.txt
pickle-email-*.html
.idea/
.DS_Store
deployment/tmp
deployment/cookbooks
.vagrant
.*un~
.ruby-gemset
.ruby-version
manifest.yml
config/unicorn.rb
db/schema.rb

Ответ 4

There is a statement in .dockerignore file документация есть выражение:

Note: For historical reasons, the pattern . is ignored.