Compose: docker-compose build mengabaikan .dockerignore?

Dibuat pada 26 Jun 2015  ·  100Komentar  ·  Sumber: docker/compose

Saya punya repo contoh lengkap di sini:

https://github.com/devinrsmith/docker-compose-build-test

Jika saya salah menggunakan docker-compose build , beri tahu saya!

arebuild kinbug

Komentar yang paling membantu

Mengapa .dockerignore berfungsi untuk docker build -t subdir ../ tetapi tidak untuk docker-compose build ?

Semua 100 komentar

Anda memiliki masalah dengan format file.

Dalam .dockerignore ubah subdir/ menjadi subdir .

Mengapa .dockerignore berfungsi untuk docker build -t subdir ../ tetapi tidak untuk docker-compose build ?

Saya mengalami masalah yang sama saat menjalankan docker-compose 1.2.0.
Menjalankan vanilla docker build menarik file abaikan dan membangun image, np di sana.
Namun docker-compose tidak menggunakan file abaikan, dengan atau tanpa garis miring.

Sepertinya masalah buruh pelabuhan-py; perbaikan sedang dikerjakan di https://github.com/docker/docker-py/pull/604. Menandai ini sebagai bug untuk mengingatkan kita untuk memperbarui versi docker-py kita setelah perbaikannya keluar.

@aanand sepertinya https://github.com/docker/docker-py/pull/604 terhenti dan telah dihapus dari pencapaian di sana?

@thaJeztah Saya telah membuat https://github.com/docker/docker-py/pull/721 untuk melanjutkan pekerjaan.

Hai,

Saya menghadapi satu masalah aneh dengan .dockerignore:

*.sh

!awesome/script.sh

dengan docker build semuanya baik-baik saja, tetapi docker-compose tidak melihat "awesome / script.sh"

Apakah saya dalam masalah yang sama?

@twillouer itu bug yang diketahui, diperbaiki oleh https://github.com/docker/docker-py/pull/721 - itu akan diperbaiki di sisi Tulis di 1.5.0.

terima kasih!

Ini sepertinya masih rusak bahkan pada master git terbaru pada beberapa mesin. Itu tidak berfungsi untuk saya di mesin yang diberi konfigurasi ini:

Debian 8.2 dengan kernel 3.16.0 dengan lxc-docker versi 1.7.1, build 786b29d
buruh pelabuhan-menulis adalah git master, KEPALA ada di dabf1e8657674014a5bc89f99edbf2fe0629bb71

.Dockerignore berfungsi dengan baik untuk build buruh pelabuhan (yang berjalan secara instan), tetapi tidak untuk docker-compose (yang mengupload hal-hal yang seharusnya tidak diupload selama beberapa menit).

Lihat juga # 2100

Saya memiliki masalah yang sama. buruh pelabuhan-menulis mengabaikan ".dockerignore". "buruh pelabuhan" bekerja dengan baik.
Sistem: windows 10

Saya mengalami masalah yang sama saat menggunakan Docker Toolbox yang dirilis kemarin:

  • Windows 7 x64
  • Docker versi 1.9.0, build 76d6bc9
  • Docker-Compose 1.5.0

Sepertinya kami masih mengalami masalah dengan .dockerignore . Jika Anda mengalami masalah ini dengan compose 1.5.0, harap sertakan contoh .dockerignore dan struktur direktori sehingga kami dapat mereproduksi kesalahan tersebut.

Maaf karena tidak memberikan usecase yang lebih kecil, tapi beginilah saya melihat masalahnya:

Saya memiliki package.json untuk proyek saya:

{
  "dependencies": {
    "grunt-contrib-uglify": "^0.9.2"
  }
}

Ditambah saya memiliki docker-compose.yml :

web:
  build: .

Dockerfile terlihat seperti ini:

FROM node:0.12

.dockerignore berisi satu baris (saya mencoba menambahkan garis miring, tetapi masalah tetap ada):

node_modules

Sekarang saya bisa melakukannya

> npm install
  (...snip...)
> docker build .
Sending build context to Docker daemon  5.12 kB

Luar biasa, berhasil, hanya 5 KiB yang dikirim ( node_modules kira-kira totalnya 10 MiB). Dengan docker-compose di Q:\sites\test :

> npm install
  (...snip...)
> docker-compose up
Building web
Traceback (most recent call last):
  File "D:\opt\python\Scripts\docker-compose-script.py", line 9, in <module>
    load_entry_point('docker-compose==1.5.0dev', 'console_scripts', 'docker-compose')()
  File "D:\opt\python\lib\site-packages\compose\cli\main.py", line 54, in main
    command.sys_dispatch()
  File "D:\opt\python\lib\site-packages\compose\cli\docopt_command.py", line 23, in sys_dispatch
    self.dispatch(sys.argv[1:], None)
  File "D:\opt\python\lib\site-packages\compose\cli\docopt_command.py", line 26, in dispatch
    self.perform_command(*self.parse(argv, global_options))
  File "D:\opt\python\lib\site-packages\compose\cli\main.py", line 170, in perform_command
    handler(project, command_options)
  File "D:\opt\python\lib\site-packages\compose\cli\main.py", line 583, in up
    detached=detached
  File "D:\opt\python\lib\site-packages\compose\project.py", line 313, in up
    detached=detached
  File "D:\opt\python\lib\site-packages\compose\service.py", line 404, in execute_convergence_plan
    container = self.create_container(do_build=do_build)
  File "D:\opt\python\lib\site-packages\compose\service.py", line 303, in create_container
    self.ensure_image_exists(do_build=do_build)
  File "D:\opt\python\lib\site-packages\compose\service.py", line 326, in ensure_image_exists
    self.build()
  File "D:\opt\python\lib\site-packages\compose\service.py", line 718, in build
    dockerfile=self.options.get('dockerfile', None),
  File "D:\opt\python\lib\site-packages\docker\api\build.py", line 48, in build
    context = utils.tar(path, exclude=exclude, dockerfile=dockerfile)
  File "D:\opt\python\lib\site-packages\docker\utils\utils.py", line 85, in tar
    t.add(os.path.join(root, path), arcname=path, recursive=False)
  File "D:\opt\python\lib\tarfile.py", line 1998, in add
    tarinfo = self.gettarinfo(name, arcname)
  File "D:\opt\python\lib\tarfile.py", line 1870, in gettarinfo
    statres = os.lstat(name)
WindowsError: [Error 3] Das System kann den angegebenen Pfad nicht finden: 'Q:\\sites\\test\\node_modules\\grunt-contrib-uglify\\node_modules\\maxmin\\node_modules\\pretty-bytes\\node_modules\\meow\\node_modules\\normalize-package-data\\node_modules\\validate-npm-package-license\\node_modules\\spdx-correct\\node_modules\\spdx-license-ids\\spdx-license-ids.json'

(Saya menggunakan 1.5.0dev di mesin ini, tetapi saya mendapat masalah yang sama persis di komputer saya yang lain dengan 1.5.0 final).

Dengan node, saya sering mengalami masalah dengan jalur dan barang yang terlalu panjang di Windows, tetapi fakta bahwa Docker-Compose mencoba meningkatkan node_modules adalah indikator bahwa .dockerignore diabaikan.

FWIW, saya masih mengalami masalah dengan ini di Linux (Ubuntu) dengan docker-compose 1.5.0dev, jadi mungkin tidak terisolasi untuk Windows. Namun, ini ada di mesin produksi jadi saya tidak dapat dengan mudah menyusun kasus uji minimal (berfungsi dengan baik di mesin pengujian saya).

Saya juga mengalami masalah ini.

Struktur direktori:

docker-compose.yml
web
  + .dockerignore
  + Dockerfile
  + node_modules
    + ...

buruh pelabuhan-menulis.yaml

web:
  build: web
  tty: true
  ports:
    - 8081:5000

Dockerfile

FROM microsoft/aspnet

# Curl, node, npm, bower, grunt
RUN apt-get update && apt-get install -y curl
RUN curl -sL https://deb.nodesource.com/setup | bash -
RUN apt-get install -y nodejs
RUN npm install -g bower
RUN npm install -g grunt-bower-cli
RUN npm install -g grunt
RUN npm install -g grunt-cli
RUN npm install -g grunt-bower-task

# Copy the project.json file first, then do a restore.
# This ensures that as long as project.json doesn't change, it will avoid
# doing a package restore
COPY project.json /app/
COPY bower.json /app/
COPY gruntfile.js /app/
COPY package.json /app/
WORKDIR /app

RUN ["dnu", "restore"]

# Then copy the rest of the files
COPY . /app

# Expose the port that the website listens on
EXPOSE 5000
# And start the website
ENTRYPOINT ["dnx", "-p", "project.json", "web"]

.dockerignore

node_modules

Hasil:

Pi<strong i="19">@Ricci</strong> MINGW64 /d/proj/Repro
$ docker-compose build
Building web
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "C:\projects\compose\compose\cli\main.py", line 54, in main
  File "C:\projects\compose\compose\cli\docopt_command.py", line 23, in sys_dispatch
  File "C:\projects\compose\compose\cli\docopt_command.py", line 26, in dispatch
  File "C:\projects\compose\compose\cli\main.py", line 171, in perform_command
  File "C:\projects\compose\compose\cli\main.py", line 192, in build
  File "C:\projects\compose\compose\project.py", line 235, in build
  File "C:\projects\compose\compose\service.py", line 683, in build
  File "c:\projects\compose\venv\lib\site-packages\docker\api\build.py", line 48, in build
  File "c:\projects\compose\venv\lib\site-packages\docker\utils\utils.py", line 85, in tar
  File "c:\python27-x64\Lib\tarfile.py", line 2000, in add
  File "c:\python27-x64\Lib\tarfile.py", line 1872, in gettarinfo
WindowsError: [Error 3] The system cannot find the path specified: 'D:\\proj\\Repro\\web\\node_modules\\babel-preset-react\\node_modules\\babel-plugin-transform-react-jsx\\node_modules\\babel-helper-builder-react-jsx\\node_modules\\babel-types\\node_modules\\babel-traverse\\node_modules\\babel-code-frame\\node_modules\\js-tokens\\changelog.md'
docker-compose returned -1

+1

Apakah ada yang menemukan solusi? Saya mencoba melakukan semuanya hanya di Dockerfile, tetapi belum beruntung.

Saya mendapatkan masalah ini juga, mungkinkah ini terkait dengan versi node yang dijalankan semua orang? Melalui masalah ini: https://github.com/npm/npm/issues/3697 .. Saya membayangkan memutakhirkan node (lebih khusus ke npm 3+) akan memperbaikinya, tetapi itu lebih merupakan opsi nuklir, dan .dockerignore seharusnya tetap kerja.

Sekali lagi meskipun ini tampaknya diabaikan, saya melihat ini di mesin Linux juga.

Saya memperbaiki masalah ini dengan menghapus referensi volume yang tidak perlu di file docker-compose saya. Compose mengabaikan .gitignore untuk volume.

Saya juga harus mengupgrade aplikasi saya untuk menggunakan npm 3+ .. tetapi itu hanya berlaku untuk pengguna windows.

@ esc-rtn file .dockerignore hanya menentukan file apa yang tidak boleh dikirim ke daemon selama _build_. Jika Anda menggunakan volume yang dipasang-bind selama "run", itu hanya akan memasang semua file di lokasi itu sebagai volume (semua file yang ada di host).

Saya juga melihat yang serupa, di Windows: docker build berfungsi seperti yang diharapkan, docker-compose tidak.

Saya telah memberikan contoh kecil di GitHub, dengan catatan di README.md: https://github.com/stekershaw/docker-compose-ignore

Putaran perbaikan lain untuk .dockerignore masuk ke docker-py setelah Compsoe 1.5.2 dirilis. Bisakah Anda mencoba rilis Compose 1.6.0 RC2 untuk melihat apakah sudah diperbaiki sekarang?

Baru saja mencoba dengan versi docker-compose 1.6.0rc2, build a7636be.

Saya memiliki tiga kasus uji di repo saya dan dengan 1.5.2 dua di antaranya gagal. Sekarang dengan 1.6.0rc2 hanya satu yang gagal, ketika saya memiliki direktori dan file di direktori tersebut dikecualikan, seperti:

$ cat .dockerignore
files/test_dir
!files/test_dir/should_be_here_maybe

Saya mendapatkan perilaku yang sama dalam kasus itu antara docker build dan docker-compose build .

.dockerignore :

files/test_dir
!files/test_dir/should_be_here_maybe

docker-compose.yml :

test:
  build: .

Dockerfile :

FROM busybox
COPY . /context
CMD ["find", "/context"]
$ docker version
Client:
 Version:      1.10.0-rc1
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   677c593
 Built:        Fri Jan 15 18:17:17 2016
 OS/Arch:      darwin/amd64

Server:
 Version:      1.10.0-rc1
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   677c593
 Built:        Fri Jan 15 18:17:17 2016
 OS/Arch:      linux/amd64

$ docker-compose version
docker-compose version 1.6.0rc2, build 695c692
docker-py version: 1.7.0-rc3
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.1j 15 Oct 2014

$ mkdir -p files/test_dir
$ touch files/test_dir/should_be_here_maybe

$ find .
.
./.dockerignore
./docker-compose.yml
./Dockerfile
./files
./files/test_dir
./files/test_dir/should_be_here_maybe

$ docker build --no-cache -t 1607-docker-build .
Sending build context to Docker daemon  5.12 kB
Step 1 : FROM busybox
 ---> 0cb40641836c
Step 2 : COPY . /context
 ---> 859e12600100
Removing intermediate container 9067b263098b
Step 3 : CMD find /context
 ---> Running in 1ddc0a573492
 ---> b1b3beacf5f2
Removing intermediate container 1ddc0a573492
Successfully built b1b3beacf5f2

$ docker run 1607-docker-build
/context
/context/docker-compose.yml
/context/Dockerfile
/context/files
/context/files/test_dir
/context/files/test_dir/should_be_here_maybe
/context/.dockerignore

$ docker-compose build --no-cache
Building test
Step 1 : FROM busybox
 ---> 0cb40641836c
Step 2 : COPY . /context
 ---> d86507051d6d
Removing intermediate container 0af2cbf69b17
Step 3 : CMD find /context
 ---> Running in 8533dae3af74
 ---> 1f736ecb2b38
Removing intermediate container 8533dae3af74
Successfully built 1f736ecb2b38

$ docker-compose run test
/context
/context/docker-compose.yml
/context/Dockerfile
/context/files
/context/files/test_dir
/context/files/test_dir/should_be_here_maybe
/context/.dockerignore

Hai @aanand , terima kasih atas tanggapan Anda, saya mendapatkan hasil yang sama seperti Anda mengikuti langkah Anda.

Namun, pengujian yang saya jalankan sebelumnya juga memiliki file lain di files / test_dir. Jika saya menambahkan file lain ke file / test_dir maka saya melihat bahwa itu tidak ada (seperti yang saya harapkan) dengan docker build tetapi ada dengan docker-compose :

$ touch files/test_dir/should_not_be_here

$ docker build --no-cache -t 1607-docker-build .
Sending build context to Docker daemon  5.12 kB
Step 1 : FROM busybox
 ---> b175bcb79023
Step 2 : COPY . /context
 ---> a23d9645c21c
Removing intermediate container 8eb2bb23c4db
Step 3 : CMD find /context
 ---> Running in d9fef847acd8
 ---> e52ae84b1250
Removing intermediate container d9fef847acd8
Successfully built e52ae84b1250
SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories.

$ docker run --rm 1607-docker-build
/context
/context/Dockerfile
/context/files
/context/files/test_dir
/context/files/test_dir/should_be_here_maybe
/context/docker-compose.yml
/context/.dockerignore

$ docker-compose build --no-cache
Building test
Step 1 : FROM busybox
 ---> b175bcb79023
Step 2 : COPY . /context
 ---> 9df0cf4bfb69
Removing intermediate container 7820f982d59e
Step 3 : CMD find /context
 ---> Running in 06e1a0b89a45
 ---> 2c922dbc66d9
Removing intermediate container 06e1a0b89a45
Successfully built 2c922dbc66d9

$ docker-compose run test
ERROR: Interactive mode is not yet supported on Windows.
Please pass the -d flag when using `docker-compose run`.

$ docker-compose run -d test
dcitest_test_run_2

$ docker logs dcitest_test_run_2
/context
/context/Dockerfile
/context/files
/context/files/test_dir
/context/files/test_dir/should_not_be_here
/context/files/test_dir/should_be_here_maybe
/context/docker-compose.yml
/context/.dockerignore

Ini adalah Windows (menggunakan git bash sebagai shell saya), diperiksa dengan Docker compose 1.5.2 dan 1.6.0rc2, docker 1.9.1.

Menjalankan hal yang sama di Ubuntu 14.04 dengan docker-compose 1.5.2 dan docker 1.9.1 baik-baik saja:

# cat .dockerignore
files/test_dir
!files/test_dir/should_be_here_maybe

# find .
.
./.dockerignore
./docker-compose.yml
./files
./files/test_dir
./files/test_dir/should_not_be_here
./files/test_dir/should_be_here_maybe
./Dockerfile

# docker-compose build --no-cache
Building test
Step 1 : FROM busybox
 ---> b175bcb79023
Step 2 : COPY . /context
 ---> c533a0768d5e
Removing intermediate container 0c057fe8eb82
Step 3 : CMD find /context
 ---> Running in e8a0cf1f58d8
 ---> 175777486a25
Removing intermediate container e8a0cf1f58d8
Successfully built 175777486a25

# docker-compose run test
/context
/context/docker-compose.yml
/context/.dockerignore
/context/files
/context/files/test_dir
/context/files/test_dir/should_be_here_maybe
/context/Dockerfile

Masih berurusan dengan ini hampir sepanjang sore.

Docker versi 1.10.1, build 9e83765
docker-compose versi 1.6.0, build d99cad6

#docker-compose.yml
test:
  build: ./cdn
#Dockerfile
FROM busybox
COPY ["content/","/test/"]
RUN find /test/ -maxdepth 1
#.dockerignore
**/.DS_Store
**/.git
**/.bowerrc
**/bower_components
**/node_modules
**/npm-debug.log

Output seperti yang diharapkan dengan docker build .

docker-compose build --no-cache test disalin atas segalanya

2992 memiliki lebih banyak .dockerignore perbaikan yang harus disertakan dalam 1.6.1

Terima kasih @ shin-, sayangnya saya masih melihat perilaku yang berbeda dengan docker-compose 1.6.2 dari Docker Toolbox untuk Windows:

$ docker-compose --version
docker-compose version 1.6.2, build e80fc83

$ find .
.
./.dockerignore
./docker-compose.yml
./Dockerfile
./files
./files/test_dir
./files/test_dir/should_be_here_maybe
./files/test_dir/should_not_be_here

$ cat .dockerignore
files/test_dir
!files/test_dir/should_be_here_maybe

$ docker-compose build --no-cache
Building test
Step 1 : FROM busybox
latest: Pulling from library/busybox
f810322bba2c: Pull complete
a3ed95caeb02: Pull complete
Digest: sha256:97473e34e311e6c1b3f61f2a721d038d1e5eef17d98d1353a513007cf46ca6bd
Status: Downloaded newer image for busybox:latest
 ---> 3240943c9ea3
Step 2 : COPY . /context
 ---> 85a65d7f861c
Removing intermediate container 386d3103d8ab
Step 3 : CMD find /context
 ---> Running in e5e29b5746c4
 ---> 2c2d57a899ea
Removing intermediate container e5e29b5746c4
Successfully built 2c2d57a899ea

$ docker-compose run -d test
dcitest_test_run_1

$ docker logs dcitest_test_run_1
/context
/context/Dockerfile
/context/files
/context/files/test_dir
/context/files/test_dir/should_be_here_maybe
/context/files/test_dir/should_not_be_here
/context/.dockerignore
/context/docker-compose.yml

Aneh sekali. Ini pasti berhasil untuk saya.

$ docker-compose build --no-cache
Building web
Step 1 : FROM busybox
 ---> 3240943c9ea3
Step 2 : COPY . /context
 ---> 3619871879ad
Removing intermediate container 08432f688579
Step 3 : CMD find /context
 ---> Running in 5bbcf987c9e7
 ---> cf2bff2c1416
Removing intermediate container 5bbcf987c9e7
Successfully built cf2bff2c1416

$ docker-compose run -d web
Creating network "testdockerignore_default" with the default driver
testdockerignore_web_run_1

$ docker logs testdockerignore_web_run_1 
/context
/context/Dockerfile
/context/files
/context/files/test_dir
/context/files/test_dir/should_be_here
/context/docker-compose.yml
/context/.dockerignore

$ find .
.
./Dockerfile
./files
./files/test_dir
./files/test_dir/should_not_be_here
./files/test_dir/should_be_here
./docker-compose.yml
./.dockerignore

$ cat .dockerignore files/test_dir
!files/test_dir/should_be_here

Apa keluaran dari pip show docker-py di lingkungan Anda?

Saya yakin saya juga memiliki masalah yang sama.

 Docker build .

bekerja untuk saya. Namun, melampirkan build yang sama dalam file docker-compose.yml akan merusak build saya. Dalam file .dockerignore saya, saya mengecualikan direktori node_modules untuk build node saya. Ini adalah bagian yang relevan dari saya docker-compose.yml:

web:
  build: ./app
  ports:
    - "8080:8080"
  links:
    - mongodb

Saya yakin saya menjalankan versi terbaru docker-compose:

>docker-compose version
docker-compose version 1.6.2, build e80fc83
docker-py version: 1.7.2
CPython version: 2.7.11
OpenSSL version: OpenSSL 1.0.2d 9 Jul 2015

Saya menjalankan Windows 10, x64.

Masalah khusus Windows, mungkin dengan pemisah jalur?

Tidak tahu bagaimana cara mengetahui apakah ini terkait dengan pemisah jalur.

Beri tahu saya jika saya dapat membantu pengujian atau sebaliknya. Saat ini, saya memiliki file batch yang memindahkan folder "diabaikan" dari direktori proyek sebelum membangun, jelas jelek.

Terima kasih atas bantuan Anda.

Demi kelengkapan, ini adalah file .dockerignore saya:

**/node_modules

Aha! Itu adalah pola bola yang menyebabkan masalah. menghapus "** /" telah memperbaiki masalah saya.

Meskipun saya memiliki solusi untuk masalah khusus saya, faktanya tetap ada bug. Setidaknya pola glob ** / tidak dapat diurai dengan benar dengan docker-compose, tetapi berfungsi dengan baik dengan perintah build buruh pelabuhan biasa. Pola glob lainnya mungkin berfungsi atau tidak.

@bfirsh dan semua orang yang mungkin peduli:

Saya memiliki .dockerignore yang sangat sederhana yang terlihat seperti ini:

livedata
readonly-data

.Dockerignore juga tidak berfungsi (dua folder dalam folder konteks build diunggah ke daemon dan dibutuhkan _forever_) dan saya menggunakan Linux . Saya hanya memperbarui ke 1.6.2 saat ini, tidak ada perubahan. Kecuali saya melihat masalah lain dengan gejala yang sama, izinkan saya mengulangi _lagi bahwa ini bukan masalah khusus jendela ..

+1, juga rusak untuk saya di Linux - jangan berpikir itu masalah khusus windows.

@JonasT @nicbarker Bagaimana Anda memastikan bahwa map dengan nama dalam .dockerignore sedang diunggah, selain fakta bahwa ini membutuhkan waktu lama? Jika Anda memiliki cara untuk memeriksa tarball, saya ingin mencoba dan menggunakannya untuk mereproduksi masalah secara lokal. Karena itu, saya telah menambahkan beberapa debug ke docker-py dan saya masih tidak dapat mereproduksi:

$ pip list | grep docker
docker-compose (1.7.0.dev0, /Users/aanand/work/docker/compose)
docker-py (1.8.0rc2, /Users/aanand/work/docker/docker-py)

$ find .
.
./.dockerignore
./docker-compose.yml
./Dockerfile
./include.txt
./livedata
./livedata/exclude.txt
./readonly-data
./readonly-data/exclude.txt

$ cat .dockerignore
livedata
readonly-data

$ cat Dockerfile
FROM busybox
COPY . /data

$ docker-compose --verbose build --no-cache
<unrelated output>
docker.utils.utils.tar: Writing tar file to <open file '<fdopen>', mode 'w+b' at 0x1090f26f0>
docker.utils.utils.tar:   Adding .dockerignore
docker.utils.utils.tar:   Adding Dockerfile
docker.utils.utils.tar:   Adding docker-compose.yml
docker.utils.utils.tar:   Adding include.txt
docker.utils.utils.tar: Done
<unrelated output>

@aanand membutuhkan waktu yang BENAR-BENAR lama sebelum dimulai, dan ketika saya memindahkan Dockerfile ke ./context dan menggunakan "build: ./context/" tanpa perubahan lain, itu langsung sangat cepat. Juga saat masalah ini pertama kali muncul saya mencoba docker build secara manual dengan "docker build" dan juga instan.

Itu tidak benar-benar mengkonfirmasi masalahnya. Jika ada direktori besar lain di root proyek, memindahkan build ke ./context akan membuatnya lebih cepat.

@dnephin tidak ada folder lain di sana kecuali untuk "konteks" itu sendiri yang saya anggap sebagai solusi, dan tiga file teks kecil ..

@JonasT Apakah mungkin Anda memiliki direktori .git yang besar yang disertakan?

Sunting: NVM, tampaknya saya sebenarnya cukup bodoh untuk melewatkan direktori karena saya memeriksa rsync'ed copy> yang salah>.> Maaf guys ..

Saya benar-benar memiliki masalah dengan ini beberapa waktu yang lalu pada versi docker-compose yang lebih lama di mana saya menyelidikinya lebih dalam, tetapi mungkin contoh spesifik yang saya miliki sebenarnya diperbaiki dengan beberapa pembaruan dockerpy baru-baru ini.

Kembali ke ini menjadi masalah Windows? :)

Hai,
saya memiliki linux, menulis 1.6.2, buruh pelabuhan 1.10.3 ... masalah yang persis sama. buruh pelabuhan menggunakan .dockerignore , menulis mengabaikannya.

@ulrichSchreiner Dapatkah Anda memberikan langkah-langkah untuk mereproduksi?

Hai,

di sini adalah intinya (https://gist.github.com/ulrichSchreiner/566815cea26ce55b95207e7795cf6962). .dockerignore berisi **/node_modules Dockerfile menambahkan file dalam subfolder t1/a/b/c/node_modules .

jika Anda membangun ini dengan "buruh pelabuhan ..." Anda mendapatkan kesalahan karena tidak ada file untuk ditambahkan (diabaikan dengan benar karena pola di .dockerignore ). Anda dapat melihat hasilnya di file terakhir dari intinya.

tetapi jika Anda membangunnya dengan "docker-compose.yml" yang diberikan itu berhasil membangun -> docker-compose mengabaikan file .dockerignore .

dan ini benar-benar merepotkan ketika direktori node_modules ratusan MB ....

saya menggunakan

docker-compose version 1.6.2, build 4d72027

Oke, saya bisa mereproduksi ini. Sepertinya buruh pelabuhan-py mungkin mendapat bug dengan aturan **/ .

IIRC, kurangnya dukungan untuk sintaks ** adalah batasan yang diketahui dari implementasi .dockerignore . Lihat https://github.com/docker/docker-py/pull/721#issuecomment -135065043

Masalah yang sama di sini. .dockerignore diabaikan saat digunakan dengan docker-compose
docker-compose version 1.6.2, build 4d72027 OSX

./.dockerignore
./Dockerfile (symlink to ./server/docker/cms/Dockerfile)
./server/docker/docker-compose.yml

Isi dari .dockerignore

./.git
./.vagrant

.vagrant adalah 16GB, jadi ini adalah "Kesepakatan Besar (tm)" bagi kami.

Maaf,

docker-machine version 0.7.0, build a650a40

docker-compose version 1.7.0, build 0d7bf73
docker-py version: 1.8.0
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.1j 15 Oct 2014

Client:
 Version:      1.11.1
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   5604cbe
 Built:        Tue Apr 26 23:44:17 2016
 OS/Arch:      darwin/amd64

Server:
 Version:      1.11.1
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   5604cbe
 Built:        Wed Apr 27 00:34:20 2016
 OS/Arch:      linux/amd64

@lattwood Sepertinya bug - Saya telah memperbaikinya di https://github.com/docker/docker-py/pull/1065. Untuk saat ini, Anda dapat menghapus ./ terdepan dari pola Anda dan itu akan berhasil.

Terima kasih!

Berjalan di Ubuntu 14.04, dockerignore saya hanya **/always_restart.txt . Dengan docker build (v1.11.2) biasa, saya tidak melihat file di container, tetapi dengan Compose (v1.7.1), saya bisa.

Edit1: Sepertinya docker-py tidak menguji notasi tanda bintang ganda dan saya rasa kemungkinan besar juga tidak menanganinya: https://github.com/docker/docker-py/blob/1.9. 0-release / tests / unit / utils_test.py # L721

Edit2: menggunakan pola */tmp/always_restart.txt berfungsi dengan Tulis, jadi pola ** secara khusus diabaikan

@ agilgur5 Benar, ini adalah masalah yang diketahui dengan buruh pelabuhan-py. Saya telah membuat https://github.com/docker/docker-py/issues/1117 untuk melacaknya.

Solusi buruk kami di DOCKERFILE:
Menggunakan git-check-ignore untuk parsing (sehingga membutuhkan git init ), kami hanya menghapus semua yang harus diabaikan setelah menyalin.
Perhatikan, dalam kasus kami yang harus menjadi COPY s (atau ADD s), kalau tidak kami mendapat file yang tidak diinginkan lagi.

RUN mkdir /app/
WORKDIR   /app/
# ...
# all the COPYs
# ...
RUN git init
COPY ./.dockerignore /app/
RUN mv .dockerignore .gitignore
RUN DEL_ME=$(find . -print0 | xargs -0) && echo Forcing deletion of .dockerignore files && git check-ignore --no-index $DEL_ME > tmp.txt
RUN DEL_ME=$(cat tmp.txt | xargs) && echo DELETING: $DEL_ME tmp.txt && rm -f -d -r $DEL_ME tmp.txt

Untuk juga menghapus file dari .gitignore (karena mengapa tidak)

COPY ./.gitignore      /app/
COPY ./.dockerignore   /app/
RUN DEL_ME=$(find . -print0 | xargs -0) && echo gitignore && git check-ignore --no-index $DEL_ME > tmp.txt
RUN rm .gitignore && mv .dockerignore .gitignore
RUN DEL_ME=$(find . -print0 | xargs -0) && echo dockerignore && git check-ignore --no-index $DEL_ME >> tmp.txt
RUN DEL_ME=$(cat tmp.txt | xargs) && echo DELETING: DEL_ME tmp.txt && rm -f -d -r $DEL_ME tmp.txt

Saya pikir menemukan solusi untuk ini dengan menggunakan volume data di docker-compose.yml , dengan pada dasarnya mendaftar direktori kontainer yang tidak ingin Anda timpa. Dalam kasus kami, kami ingin mempertahankan direktori node_modules dalam wadah.

Jadi, docker-compose.yml terlihat seperti ini:

  my_app:
    build: ./my_app
    volumes:
      - ./my_app:/app
      # prevent the mounting above from overwriting the following
      - /app/node_modules

Nilai volumes menduplikasi apa yang ada di .dockerignore tetapi itu membuat kita pergi untuk saat ini ...

Saya memiliki saran tingkat tinggi untuk masalah ini:

Saya akan merekomendasikan mengulangi masalah ini menjadi sesuatu seperti, "[masalah meta]: penanganan yang salah dari aturan .dockerignore" (atau "[masalah pelacakan]: penanganan yang salah ..."), atau cukup tutup masalah ini demi pengumpulan masalah yang lebih kecil dan lebih dapat ditindaklanjuti. Ini karena (1) bukan karena Docker compose "mengabaikan" file .dockerignore (yang saat ini disebutkan dalam judul terbitan). Itu hanya belum menerapkan aturan dengan benar. Dan (2), ada beberapa bagian dari masalah ini. Ini bukan hanya satu masalah. Misalnya, ada yang ini ( ** pemrosesan) dan yang baru ini saya ajukan (prioritas baris terakhir). Dan mungkin ada lebih banyak lagi.

Karena utas masalah ini sangat panjang (karena mencakup area masalah yang luas), masalah individu yang perlu dipecahkan sulit ditemukan di dalam utas. Berbeda dengan masalah umum ".dockerignore sepertinya tidak berfungsi", saya menyarankan untuk mengajukan masalah yang jelas yang dapat diselesaikan secara terpisah. Seperti yang diungkapkan saat ini, masalah ini mungkin tidak akan pernah bisa ditutup karena implementasi Python mungkin tidak pernah memiliki kesamaan dengan implementasi referensi.

Saya telah menggunakan **/**/node_modules tetapi ternyata yang ini tidak berfungsi. Jadi saya mendefinisikan setiap direktori node_modules di subproyek saya untuk memperbaiki bug ini.

Sebelum perbaikan terbaru ini saya mengalami "Access Right Error" saat menginstal dependensi npm karena mereka sudah ada (disebabkan oleh menyalin dengan file dockerignore yang tidak berfungsi).

Permasalahan yang sama.

macOS Sierra 10.12.2
Docker versi 1.12.5, build 7392c3b
docker-compose versi 1.9.0, build 2585387

Masalah pola ** harus diperbaiki di 1.11.2
Ada kemungkinan masalah yang belum terselesaikan seperti masalah dengan prioritas baris terakhir, yang dilacak secara terpisah di # 3931 dan # 3886. Silakan lihat itu untuk pembaruan lebih lanjut.

Saya tidak yakin apakah docker-compose mengabaikan .dockerignore atau gagal menafsirkannya dengan benar (tidak seperti buruh pelabuhan yang berfungsi dengan baik). beginilah cara saya mendarat di sini: http://stackoverflow.com/questions/42883596/equivalent-builds-dont-behave-the-same

dan inilah file .dockerignore (seandainya Anda dapat mengetahui apa masalahnya):

$ cat .dockerignore 
*
!www
!app
!inc
*/node_modules
*/bower_components
**/*.log
**/Dockerfile
**/.gitignore

Tampaknya docker-compose build mengabaikan file .dockerignore sepenuhnya.
docker build berfungsi seperti yang diharapkan.

$ docker-compose version                                                                                                                       
docker-compose version 1.14.0, build c7bdf9e
docker-py version: 2.3.0
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t  3 May 2016

.dockerignore terlihat seperti ini

.bundle
.git
.gitignore
test
tmp
log

jadi tidak ada yang istimewa di sini.
Saya menggunakan Ubuntu 16.04 tetapi saya tidak tahu apakah itu penting.

BTW: Dapatkah seseorang menjelaskan, mengapa docker-compose build tidak menggunakan kode yang sama dengan docker build untuk membuat gambar menggunakan Dockerfile dan semua itu? Mengapa ada duplikasi kode yang jelas (yang tidak berfungsi dengan baik seperti yang ditunjukkan masalah ini)?

mengapa masalah ini ditutup dan bagaimana kami membukanya kembali? perangkat lunaknya jelas rusak dan perlu diperbaiki

ah. terima kasih shin. senang itu akan ditangani

Saya telah membaca masalah # 3931 dan # 3886 seperti yang disarankan, tetapi .dockerignore saya tidak spesial, jadi saya tidak dapat memetakan masalah saya dengan tepat.
Saya tidak bekerja sama sekali untuk saya dan tidak masalah, ada apa di .dockerignore saya.

Bodoh sekali, itu adalah kesalahanku.:dizzy_face:
Saya memasang kode saya sebagai volume sehingga jelas, bahwa tidak ada yang diabaikan. Maaf untuk itu.

app:
  build: .
  container_name: my_app
  volumes:
    - .:/my_app

ini sepertinya belum terselesaikan?

version: '3.4'
services:
  ui:
    build:
      context: ./source/ui
      dockerfile: Dockerfile
      target: development
    command: bash -c "yarn dev"
    ports:
      - '9091:9091'
      - '9092:9092'
    expose:
      - '9091'
      - '9092'
    volumes:
      - ./source/ui:/app
      - node-modules:/app/node_modules

    environment:
      - PORT=9091
      - HMR_PORT=9092
      - NODE_ENV=development
      - API_HOST=api.docker:7001

volumes:
  node-modules:

in source/ui/.dockerignore:

node_modules
dist
``

tapi kedua folder itu akhirnya dibuat ...

Saya memiliki masalah yang sama. tepat ketika saya menyadari bahwa saya menggunakan versi penulisan lama. Diperbarui menjadi docker-compose version 1.22.0-rc1, build e7de1bc3 .

Masalahnya adalah, versi compose yang dikirimkan dengan debian / ubuntu terlalu tua.

Sekarang berfungsi lebih baik, tetapi masih tidak sama seperti docker build

Ini masih belum terselesaikan. Menjalankan Docker untuk Mac, versi terbaru (Docker 18.03.1-ce-mac65).

.Dockerignore saya:

**/package-lock.json
**/node_modules

tetapi keduanya diteruskan ke container saat menggunakan docker-compose.

https://github.com/docker/docker-py/pull/2065 ada di 1.22.0 RC2 dan harus mengatasinya.

Saya menggunakan Docker untuk Mac Versi 18.06.1-ce-mac73 (26764) dan bug masih ada.

image

Saya menggunakan:

docker-compose versi 1.22.0, build f46880f
Docker versi 18.06.1-ce, build e68fc7a

berjalan di Ubuntu 16.04 Xenial dan docker-compose build mengabaikan .dockerignore berikut:

**/*.jpg **/*.png **/*.pyc **/*.solverstate **/*.caffemodel **/*.tgz **/.pytest_cache **/*__pycache__* **/.git **/node_modules *.egg-info .eggs *Dockerfile* build dist
Karena sekarang seharusnya menafsirkan tanda bintang ganda, saya tidak tahu apa penyebabnya. Adakah yang punya masalah yang sama?

Karena sekarang seharusnya menafsirkan tanda bintang ganda, saya tidak tahu apa penyebabnya. Adakah yang punya masalah yang sama?

Saya mengalami masalah yang sama (dengan **/.tox ).

Saya memiliki masalah yang sama. Saya menggunakan konteks yang berbeda.
docker-compose.yml ditempatkan di jalur root aplikasi dan terlihat seperti

services:
  api:
    build:
      context: ./docker/api

Pohon file saya:

- app/
-- docker/
--- api/
---- .dockerignore <- it works!
-- docker-compose.yml
-- .dockerignore <- it does not work for contexts

Semoga harimu menyenangkan!

@ zymtx5g79k Itu tidak berhasil untuk saya.

Struktur direktori:

- .dockerignore
- docker/
-- development/
--- docker-compose.yml  

docker-compose.yml

version: '3'
services:
  web:
    build:
      context: ../../.

@rodrigobdz , harap periksa:
docker-compose.yml :

services:
  api:
    build:
      context: ./../../
version: '3'

.dockerignore :

/docker

Struktur file :

- docker/
-- api/
--- docker-compose.yml
- .dockerignore

Masih hasil yang sama, direktori .git ada di wadah misalnya. Saya akan memposting di sini .dockerignore saya. Mungkin itu memiliki beberapa masalah sendiri.

# Custom
docker-compose.yml
docs/
livereload.js*
yarn-error.log
v8-compile-cache-0
# vim
*.swp

.git
.gitignore
README.md

@rodrigobdz Saya tidak dapat mereproduksi masalah (menjalankan docker compose versi 1.22.0);

Persiapkan tes;

mkdir repro-1607 && cd repro-1607
mkdir -p docker/development/
mkdir -p ./.git/this-is-a-git-repo
echo "this is README.md" > README.md

cat > docker/development/docker-compose.yml -<<EOF
version: '3'
services:
  web:
    build:
      context: ../../.
EOF

cat > ./.dockerignore -<<EOF
# Custom
docker-compose.yml
docs/
livereload.js*
yarn-error.log
v8-compile-cache-0
# vim
*.swp

.git
.gitignore
README.md
EOF

cat > Dockerfile -<<EOF
FROM alpine
RUN apk add --no-cache tree
COPY . /foobar/
CMD tree -a /foobar/
EOF

Bangun menggunakan buruh pelabuhan-menulis;

cd docker/development/
docker-compose build --no-cache

Building web
Step 1/4 : FROM alpine
 ---> 11cd0b38bc3c
Step 2/4 : RUN apk add --no-cache tree
 ---> Running in 8767bc07dad9
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
(1/1) Installing tree (1.7.0-r1)
Executing busybox-1.28.4-r0.trigger
OK: 5 MiB in 14 packages
Removing intermediate container 8767bc07dad9
 ---> 3916d3b689bb
Step 3/4 : COPY . /foobar/
 ---> 76ab68d75f88
Step 4/4 : CMD tree -a /foobar/
 ---> Running in 9891624b3cab
Removing intermediate container 9891624b3cab
 ---> d22b81d149f2
Successfully built d22b81d149f2
Successfully tagged development_web:latest

Dan verifikasi bahwa konten tersebut tidak ditambahkan;

docker run --rm development_web:latest
/foobar/
├── .dockerignore
├── Dockerfile
└── docker
    └── development
        └── docker-compose.yml

2 directories, 3 files

Sekarang, ganti nama .dockerignore dan lakukan pembangunan lagi;

mv ../../.dockerignore ../../.dockerignore.disabled
docker-compose build --no-cache

Building web
Step 1/4 : FROM alpine
....

Verifikasi bahwa konten tidak lagi diabaikan, dan ditambahkan ke gambar:

docker run --rm development_web:latest
/foobar/
├── .dockerignore.disabled
├── .git
│   └── this-is-a-git-repo
├── Dockerfile
├── README.md
└── docker
    └── development
        └── docker-compose.yml

4 directories, 4 files

(edit: hasil yang diperbarui dari proses pertama, karena saya lupa menjalankan tree dengan -a untuk pertama kalinya)

@thaJeztah Terima kasih telah meluangkan waktu untuk memeriksanya. Saya menemukan masalahnya.

Kasus penggunaan saya mirip dengan yang dijelaskan di https://github.com/docker/compose/issues/2098#issue -108463351. Saya menggunakan perintah COPY di Dockerfile saya dan sebagai tambahan, pasang direktori yang sama dengan volume .

Saya mengharapkan pengecualian dalam .dockerignore akan diterapkan ke volume, seperti yang dijelaskan di https://github.com/docker/compose/issues/2098#issuecomment -143505943.

Saya mengharapkan pengecualian dalam .dockerignore akan diterapkan ke volume, seperti yang dijelaskan di # 2098 (komentar).

Tidak, saat memasang jalur dari host, buruh pelabuhan tidak akan "di tengah" itu; di Linux, ini benar-benar memasang direktori itu dari host di dalam wadah. Di Desktop Docker (Docker untuk Mac / Windows), ada beberapa "keajaiban" tambahan yang terlibat untuk membuat file-file itu tersedia di dalam VM tempat daemon (dan kontainer) berjalan, tetapi pada dasarnya melakukan hal yang sama seperti di Linux setelah itu.

.dockerignore hanya digunakan selama pembuatan, dan dimaksudkan untuk mempercepat pembangunan; untuk mencegah keharusan mengirim file ke daemon yang tidak digunakan / diinginkan pada image.

Terimakasih atas klarifikasinya! Saya menganggap bahwa penjelasan ini harus ada di dokumen untuk menghindari kesalahpahaman lebih lanjut di masyarakat. Saat ini, dokumentasi lebih difokuskan pada bagaimana mengabaikan file daripada pada lingkup .dockerignore itu sendiri.

Halaman dokumentasi itu menjelaskan Dockerfile dan docker build ; dari perspektif itu; bertanya-tanya apakah masuk akal untuk menjelaskan bahwa itu tidak berfungsi untuk perintah / penggunaan lain.

Nah, jika itu adalah sumber kesalahpahaman yang umum, dan ternyata memang demikian, masuk akal untuk menyebutkannya di sana.

Sebuah kalimat tunggal dalam dokumentasi akan menyelamatkan kita @thaJeztah, dan semua pengguna di bawah, banyak waktu.


Pengguna salah paham dengan dokumentasi saat ini

Masalah 1607

1607

Masalah 2098

2098

Hanya ingin memberi +1 pada masalah ini.

Saya menjalankan docker-copose: 1.23.2 (terbaru yang bisa saya temukan antara Homebrew dan PIP)
OS: Mac OS 10.14.2

Itu masih mengabaikan .dockerfile saya saat membangun. Akan harus menyalin sesuatu secara eksplisit dalam waktu yang bersamaan.

Saya memperbaiki masalah ini dengan menghapus referensi volume yang tidak perlu di file docker-compose saya. Compose mengabaikan .gitignore untuk volume.

Ini memperbaikinya untuk saya - docker-compose akan mengabaikan file .dockerignore dalam volume yang terpasang.

@xvrqt Saya mungkin telah membuang waktu berjam-jam selama seminggu terakhir mengalami kesalahan acak dengan file konfigurasi saya tidak disalin dengan benar (proses pembuatan saya seharusnya menyalinnya tetapi diblokir oleh file .dockerignore yang tidak digunakan). Ini agak sulit dipercaya.

Terima kasih telah menyoroti itu.

Hai! Apa status ini? Saya telah menyiapkan skenario docker-compose.yml yang sangat sederhana yang tidak melibatkan volume namun gagal mengambil .dockerignore saat membangun dari repo git jarak jauh.

https://github.com/LocoDelAssembly/docker-compose-dockerignore

Apakah kesalahan yang saya alami di cabang master diharapkan? Ada solusi selain membangun dan menandai gambar dengan vanilla buruh pelabuhan dan kemudian menggunakannya di docker-compose.yml?

Terima kasih

Ada solusi selain membangun dan menandai gambar dengan vanilla buruh pelabuhan dan kemudian menggunakannya di docker-compose.yml?

Jika Anda menjalankan versi penulisan saat ini, Anda dapat menggunakan opsi COMPOSE_DOCKER_CLI_BUILD=1 (dan DOCKER_BUILDKIT=1 ) untuk membuat penulisan galangan menggunakan versi asli docker build .

Contoh Anda terlihat berbeda dari yang dibahas di sini, jadi sebaiknya buka tiket baru (jika belum ada)

Terima kasih @thaJeztah! Bekerja dengan COMPOSE_DOCKER_CLI_BUILD=1 , tetapi jika saya juga menambahkan DOCKER_BUILDKIT=1 gagal (karena alasan yang tidak terkait).

https://travis-ci.org/LocoDelAssembly/docker-compose-dockerignore/builds/658351109

Hm, saya curiga itu bug dalam versi buruh pelabuhan yang berjalan di sana; buruh pelabuhan 18.06 cukup tua (dan EOL); versi buruh pelabuhan tersebut memiliki versi BuildKit yang cukup awal, yang belum stabil.

``
=> ERROR [internal] memuat metadata untuk docker.io/library/alpine:3.9.5 0.1s
218 => ERROR [1/5] DARI docker.io/library/alpine:3.9.5 0.0s
219 => => menyelesaikan docker.io/library/alpine:3.9.5 0.0s
220 ------
221> metadata beban [internal] untuk docker.io/library/alpine:3.9.5:
222 ------
223 ------
224> [1/5] DARI docker.io/library/ alpine: 3.9.5 :
225 ------
226 gagal diselesaikan dengan frontend dockerfile.v0: gagal membangun LLB: gagal memuat kunci cache: docker.io/library/ alpine: 3.9.5 tidak ditemukan

Oh, hm, saya melihat travis Anda memasang buruh pelabuhan juga (membaca dari ponsel saya); apakah itu menggantikan versi pra-instal? Jika Anda menambahkan langkah docker info dan docker version setelah menginstal, apakah ini menunjukkan versi docker yang benar (19.03.x) yang akan diinstal?

Ini dia https://travis-ci.org/LocoDelAssembly/docker-compose-dockerignore/builds/658435194

Ringkasan

Versi Docker untuk kedua build yang gagal

$ docker version
Client: Docker Engine - Community
 Version:           19.03.7
 API version:       1.40
 Go version:        go1.12.17
 Git commit:        7141c199a2
 Built:             Wed Mar  4 01:22:36 2020
 OS/Arch:           linux/amd64
 Experimental:      false
Server: Docker Engine - Community
 Engine:
  Version:          19.03.7
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.17
  Git commit:       7141c199a2
  Built:            Wed Mar  4 01:21:08 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

docker info output agak besar jadi tidak termasuk, tapi Server Version: 19.03.7 .

versi docker-compose

DOCKER_COMPOSE_VERSION = 1.26.0-rc2

$ docker-compose version
docker-compose version 1.26.0-rc1, build 07cab513
docker-py version: 4.2.0
CPython version: 3.7.6
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

(Versi yang dilaporkan salah, ini adalah rc2, hash build cocok dengan rc2)

DOCKER_COMPOSE_VERSION = 1,25,4

$ docker-compose version
docker-compose version 1.25.4, build 8d51620a
docker-py version: 4.1.0
CPython version: 3.7.5
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

Masalah masih ada di 19.03.8.

Masalah masih ada di 19.03.8.

Benar. Juga perbarui repo pengujian saya dengan versi terbaru pembuatan galangan 1.25 dan 1.26 tetapi semuanya tetap seperti yang dijelaskan di https://github.com/LocoDelAssembly/docker-compose-dockerignore

Bangun di mana jenis info yang sama yang saya tempel di atas dapat ditemukan: https://travis-ci.org/github/LocoDelAssembly/docker-compose-dockerignore/builds/673393656

Memiliki masalah yang sama di sini, .dockerignore tidak berfungsi dengan cara yang dapat diandalkan dengan docker-compose

Apakah halaman ini membantu?
0 / 5 - 0 peringkat