hashicorp / hashicorp/packer

Dont copy files into lambda images

Open
#12,384 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Go
Stars
15.8k
Forks
3.3k
PR merge metrics
PR metrics pending

Description

#### Community Note

* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue or have submitted a pull request, please leave a comment

When filing a bug, please include the following headings if possible. Any
example text in this template can be deleted.

#### Overview of the Issue

I tried copy files into lambda docker images, but its fails.

#### Reproduction Steps

execute the template below

### Packer version

From 1.8.6

### Simplified Packer Template
```
packer {
required_plugins {
docker = {
version = ">= 0.0.7"
source = "github.com/hashicorp/docker"
}
}
}

source "docker" "node18" {
image = "public.ecr.aws/lambda/nodejs:18"
commit = true
changes = [
"CMD [\"index.handler\"]"
]
}

build {
name = "terraform-ansible-lambda"
sources = [
"source.docker.node18"
]

provisioner "file" {
source = "src/index.js"
destination = "/tmp/index.js"
}
provisioner "file" {
source = "src/copy.sh"
destination = "/tmp/copy.sh"
}
provisioner "shell" {
inline = [
"./tmp/copy.sh"
]
}

post-processors {

post-processor "docker-tag" {
repository = "xxxxxxx.dkr.ecr.us-east-1.amazonaws.com/teste-lambda-terraform-node"
tag = ["0.9"]
}

}

}
```
### Operating system and Environment details

Ubuntu 22.04

### Log Fragments and crash.log files
![Captura de tela de 2023-04-28 12-12-41](https://user-images.githubusercontent.com/2833993/235186971-9a6a998a-abb2-4d53-aa0c-87573666de00.png)

```
2023/04/28 12:14:33 [INFO] Packer version: 1.8.6 [go1.18.9 linux amd64]
2023/04/28 12:14:33 [TRACE] discovering plugins in /usr/bin
2023/04/28 12:14:33 [TRACE] discovering plugins in /home/igor/.config/packer/plugins
2023/04/28 12:14:33 [DEBUG] Discovered plugin: docker = /home/igor/.config/packer/plugins/github.com/hashicorp/docker/packer-plugin-docker_v1.0.8_x5.0_linux_amd64
2023/04/28 12:14:33 [INFO] found external [-packer-default-plugin-name-] builders from docker plugin
2023/04/28 12:14:33 [INFO] found external [import push save tag] post-processors from docker plugin
2023/04/28 12:14:33 [TRACE] discovering plugins in .
2023/04/28 12:14:33 [INFO] PACKER_CONFIG env var not set; checking the default config file path
2023/04/28 12:14:33 [INFO] PACKER_CONFIG env var set; attempting to open config file: /home/igor/.packerconfig
2023/04/28 12:14:33 [WARN] Config file doesn't exist: /home/igor/.packerconfig
2023/04/28 12:14:33 [INFO] Setting cache directory: /home/igor/.cache/packer
2023/04/28 12:14:33 [TRACE] listing potential installations for "github.com/hashicorp/docker" that match ">= 0.0.7". plugingetter.ListInstallationsOptions{FromFolders:[]string{"/usr/bin/packer", ".", "/home/igor/.config/packer/plugins"}, BinaryInstallationOptions:plugingetter.BinaryInstallationOptions{APIVersionMajor:"5", APIVersionMinor:"0", OS:"linux", ARCH:"amd64", Ext:"", Checksummers:[]plugingetter.Checksummer{plugingetter.Checksummer{Type:"sha256", Hash:(*sha256.digest)(0xc0006c2300)}}}}
2023/04/28 12:14:34 [TRACE] Found the following "github.com/hashicorp/docker" installations: [{/home/igor/.config/packer/plugins/github.com/hashicorp/docker/packer-plugin-docker_v1.0.8_x5.0_linux_amd64 v1.0.8}]
2023/04/28 12:14:34 [INFO] found external [-packer-default-plugin-name-] builders from docker plugin
2023/04/28 12:14:34 [INFO] found external [import push save tag] post-processors from docker plugin
2023/04/28 12:14:34 [TRACE] Starting external plugin /home/igor/.config/packer/plugins/github.com/hashicorp/docker/packer-plugin-docker_v1.0.8_x5.0_linux_amd64 start builder -packer-default-plugin-name-
2023/04/28 12:14:34 Starting plugin: /home/igor/.config/packer/plugins/github.com/hashicorp/docker/packer-plugin-docker_v1.0.8_x5.0_linux_amd64 []string{"/home/igor/.config/packer/plugins/github.com/hashicorp/docker/packer-plugin-docker_v1.0.8_x5.0_linux_amd64", "start", "builder", "-packer-default-plugin-name-"}
2023/04/28 12:14:34 Waiting for RPC address for: /home/igor/.config/packer/plugins/github.com/hashicorp/docker/packer-plugin-docker_v1.0.8_x5.0_linux_amd64
2023/04/28 12:14:34 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:34 Plugin address: unix /tmp/packer-plugin3873032572
2023/04/28 12:14:34 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:34 Waiting for connection...
2023/04/28 12:14:34 Received unix RPC address for /home/igor/.config/packer/plugins/github.com/hashicorp/docker/packer-plugin-docker_v1.0.8_x5.0_linux_amd64: addr is /tmp/packer-plugin3873032572
2023/04/28 12:14:34 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:34 Serving a plugin connection...
2023/04/28 12:14:34 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:34 [TRACE] starting builder -packer-default-plugin-name-
2023/04/28 12:14:34 [TRACE] Starting internal plugin packer-provisioner-file
2023/04/28 12:14:34 Starting plugin: /usr/bin/packer []string{"/usr/bin/packer", "plugin", "packer-provisioner-file"}
2023/04/28 12:14:34 Waiting for RPC address for: /usr/bin/packer
2023/04/28 12:14:34 packer-provisioner-file plugin: [INFO] Packer version: 1.8.6 [go1.18.9 linux amd64]
2023/04/28 12:14:34 packer-provisioner-file plugin: [INFO] PACKER_CONFIG env var not set; checking the default config file path
2023/04/28 12:14:34 packer-provisioner-file plugin: [INFO] PACKER_CONFIG env var set; attempting to open config file: /home/igor/.packerconfig
2023/04/28 12:14:34 packer-provisioner-file plugin: [WARN] Config file doesn't exist: /home/igor/.packerconfig
2023/04/28 12:14:34 packer-provisioner-file plugin: [INFO] Setting cache directory: /home/igor/.cache/packer
2023/04/28 12:14:34 packer-provisioner-file plugin: args: []string{"packer-provisioner-file"}
2023/04/28 12:14:34 packer-provisioner-file plugin: Plugin address: unix /tmp/packer-plugin1462302773
2023/04/28 12:14:34 packer-provisioner-file plugin: Waiting for connection...
2023/04/28 12:14:34 Received unix RPC address for /usr/bin/packer: addr is /tmp/packer-plugin1462302773
2023/04/28 12:14:34 packer-provisioner-file plugin: Serving a plugin connection...
2023/04/28 12:14:34 [TRACE] Starting internal plugin packer-provisioner-file
2023/04/28 12:14:34 Starting plugin: /usr/bin/packer []string{"/usr/bin/packer", "plugin", "packer-provisioner-file"}
2023/04/28 12:14:34 Waiting for RPC address for: /usr/bin/packer
2023/04/28 12:14:34 packer-provisioner-file plugin: [INFO] Packer version: 1.8.6 [go1.18.9 linux amd64]
2023/04/28 12:14:34 packer-provisioner-file plugin: [INFO] PACKER_CONFIG env var not set; checking the default config file path
2023/04/28 12:14:34 packer-provisioner-file plugin: [INFO] PACKER_CONFIG env var set; attempting to open config file: /home/igor/.packerconfig
2023/04/28 12:14:34 packer-provisioner-file plugin: [WARN] Config file doesn't exist: /home/igor/.packerconfig
2023/04/28 12:14:34 packer-provisioner-file plugin: [INFO] Setting cache directory: /home/igor/.cache/packer
2023/04/28 12:14:34 packer-provisioner-file plugin: args: []string{"packer-provisioner-file"}
2023/04/28 12:14:34 packer-provisioner-file plugin: Plugin address: unix /tmp/packer-plugin2740728976
2023/04/28 12:14:34 packer-provisioner-file plugin: Waiting for connection...
2023/04/28 12:14:34 Received unix RPC address for /usr/bin/packer: addr is /tmp/packer-plugin2740728976
2023/04/28 12:14:34 packer-provisioner-file plugin: Serving a plugin connection...
2023/04/28 12:14:34 [TRACE] Starting internal plugin packer-provisioner-shell
2023/04/28 12:14:34 Starting plugin: /usr/bin/packer []string{"/usr/bin/packer", "plugin", "packer-provisioner-shell"}
2023/04/28 12:14:34 Waiting for RPC address for: /usr/bin/packer
2023/04/28 12:14:34 packer-provisioner-shell plugin: [INFO] Packer version: 1.8.6 [go1.18.9 linux amd64]
2023/04/28 12:14:34 packer-provisioner-shell plugin: [INFO] PACKER_CONFIG env var not set; checking the default config file path
2023/04/28 12:14:34 packer-provisioner-shell plugin: [INFO] PACKER_CONFIG env var set; attempting to open config file: /home/igor/.packerconfig
2023/04/28 12:14:34 packer-provisioner-shell plugin: [WARN] Config file doesn't exist: /home/igor/.packerconfig
2023/04/28 12:14:34 packer-provisioner-shell plugin: [INFO] Setting cache directory: /home/igor/.cache/packer
2023/04/28 12:14:34 packer-provisioner-shell plugin: args: []string{"packer-provisioner-shell"}
2023/04/28 12:14:34 packer-provisioner-shell plugin: Plugin address: unix /tmp/packer-plugin2668177838
2023/04/28 12:14:34 packer-provisioner-shell plugin: Waiting for connection...
2023/04/28 12:14:34 Received unix RPC address for /usr/bin/packer: addr is /tmp/packer-plugin2668177838
2023/04/28 12:14:34 packer-provisioner-shell plugin: Serving a plugin connection...
2023/04/28 12:14:34 [TRACE] Starting external plugin /home/igor/.config/packer/plugins/github.com/hashicorp/docker/packer-plugin-docker_v1.0.8_x5.0_linux_amd64 start post-processor tag
2023/04/28 12:14:34 Starting plugin: /home/igor/.config/packer/plugins/github.com/hashicorp/docker/packer-plugin-docker_v1.0.8_x5.0_linux_amd64 []string{"/home/igor/.config/packer/plugins/github.com/hashicorp/docker/packer-plugin-docker_v1.0.8_x5.0_linux_amd64", "start", "post-processor", "tag"}
2023/04/28 12:14:34 Waiting for RPC address for: /home/igor/.config/packer/plugins/github.com/hashicorp/docker/packer-plugin-docker_v1.0.8_x5.0_linux_amd64
2023/04/28 12:14:34 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:34 Plugin address: unix /tmp/packer-plugin912615799
2023/04/28 12:14:34 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:34 Waiting for connection...
2023/04/28 12:14:34 Received unix RPC address for /home/igor/.config/packer/plugins/github.com/hashicorp/docker/packer-plugin-docker_v1.0.8_x5.0_linux_amd64: addr is /tmp/packer-plugin912615799
2023/04/28 12:14:34 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:34 Serving a plugin connection...
2023/04/28 12:14:34 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:34 [TRACE] starting post-processor tag
2023/04/28 12:14:34 Build debug mode: false
2023/04/28 12:14:34 Force build: false
2023/04/28 12:14:34 On error:
2023/04/28 12:14:34 Waiting on builds to complete...
2023/04/28 12:14:34 Starting build run: terraform-ansible-lambda.docker.node18
2023/04/28 12:14:34 Running builder:
2023/04/28 12:14:34 [INFO] (telemetry) Starting builder docker.node18
terraform-ansible-lambda.docker.node18: output will be in this color.

2023/04/28 12:14:34 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:34 [DEBUG] Docker version: 20.0.0
2023/04/28 12:14:34 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:34 [DEBUG] Container will be committed
==> terraform-ansible-lambda.docker.node18: Creating a temporary directory for sharing data...
2023/04/28 12:14:34 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:34 Set Packer temp dir to /home/igor/.config/packer/tmp2591839609
2023/04/28 12:14:34 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:34 Executing: /bin/docker [pull public.ecr.aws/lambda/nodejs:18]
==> terraform-ansible-lambda.docker.node18: Pulling Docker image: public.ecr.aws/lambda/nodejs:18
terraform-ansible-lambda.docker.node18: 18: Pulling from lambda/nodejs
terraform-ansible-lambda.docker.node18: Digest: sha256:f7b1323efa8365849894eae433afa4399e2b48fb2a3b128edefb805b643866c0
terraform-ansible-lambda.docker.node18: Status: Image is up to date for public.ecr.aws/lambda/nodejs:18
terraform-ansible-lambda.docker.node18: public.ecr.aws/lambda/nodejs:18
==> terraform-ansible-lambda.docker.node18: Starting docker container...
2023/04/28 12:14:36 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:36 Starting container with args: [run -v /home/igor/.config/packer/tmp2591839609:/packer-files -d -i -t --entrypoint=/bin/sh -- public.ecr.aws/lambda/nodejs:18]
terraform-ansible-lambda.docker.node18: Run command: docker run -v /home/igor/.config/packer/tmp2591839609:/packer-files -d -i -t --entrypoint=/bin/sh -- public.ecr.aws/lambda/nodejs:18
2023/04/28 12:14:36 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:36 Waiting for container to finish starting
terraform-ansible-lambda.docker.node18: Container ID: dc0bcfdb1b45f9ff6a2139a5ea8c9261ebb3e0c439468e560b49db4b4c50ad12
==> terraform-ansible-lambda.docker.node18: Using docker communicator to connect: 172.17.0.2
2023/04/28 12:14:36 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:36 Running the provision hook
2023/04/28 12:14:36 [INFO] (telemetry) Starting provisioner file
==> terraform-ansible-lambda.docker.node18: Uploading src/index.js => /tmp/index.js
2023/04/28 12:14:36 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:36 Copying to /tmp/index.js on container dc0bcfdb1b45f9ff6a2139a5ea8c9261ebb3e0c439468e560b49db4b4c50ad12.
2023/04/28 12:14:36 packer-provisioner-file plugin: [INFO] 50 bytes written for 'uploadData'
2023/04/28 12:14:36 [INFO] 50 bytes written for 'uploadData'
2023/04/28 12:14:36 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:36 Copied 50 bytes for /tmp/index.js
2023/04/28 12:14:36 packer-provisioner-file plugin: closing
2023/04/28 12:14:36 closing
2023/04/28 12:14:36 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:36 closing
terraform-ansible-lambda.docker.node18: index.js 50 B / 50 B [==================================================================================================================] 100.00% 0s
2023/04/28 12:14:36 [INFO] (telemetry) ending file
terraform-ansible-lambda.docker.node18: index.js 50 B / 50 B [==================================================================================================================] 100.00% 0s
==> terraform-ansible-lambda.docker.node18: Uploading src/copy.sh => /tmp/copy.sh
2023/04/28 12:14:36 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:36 Copying to /tmp/copy.sh on container dc0bcfdb1b45f9ff6a2139a5ea8c9261ebb3e0c439468e560b49db4b4c50ad12.
2023/04/28 12:14:36 packer-provisioner-file plugin: [INFO] 47 bytes written for 'uploadData'
2023/04/28 12:14:36 [INFO] 47 bytes written for 'uploadData'
2023/04/28 12:14:36 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:36 Copied 47 bytes for /tmp/copy.sh
2023/04/28 12:14:36 packer-provisioner-file plugin: closing
2023/04/28 12:14:36 closing
2023/04/28 12:14:36 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:36 closing
terraform-ansible-lambda.docker.node18: copy.sh 47 B / 47 B [===================================================================================================================] 100.00% 0s
2023/04/28 12:14:36 [INFO] (telemetry) ending file
terraform-ansible-lambda.docker.node18: copy.sh 47 B / 47 B [===================================================================================================================] 100.00% 0s
==> terraform-ansible-lambda.docker.node18: Provisioning with shell script: /tmp/packer-shell1569527924
2023/04/28 12:14:36 packer-provisioner-shell plugin: Opening /tmp/packer-shell1569527924 for reading
2023/04/28 12:14:36 packer-provisioner-shell plugin: [INFO] 27 bytes written for 'uploadData'
2023/04/28 12:14:36 [INFO] 27 bytes written for 'uploadData'
2023/04/28 12:14:36 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:36 Copying to /tmp/script_7564.sh on container dc0bcfdb1b45f9ff6a2139a5ea8c9261ebb3e0c439468e560b49db4b4c50ad12.
2023/04/28 12:14:36 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:36 Copied 27 bytes for /tmp/script_7564.sh
2023/04/28 12:14:36 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:36 Executing docker exec -i dc0bcfdb1b45f9ff6a2139a5ea8c9261ebb3e0c439468e560b49db4b4c50ad12 /bin/sh -c (chmod 0755 /tmp/script_7564.sh):
2023/04/28 12:14:36 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:36 [INFO] RPC endpoint: Communicator ended with: 0
2023/04/28 12:14:36 [INFO] RPC client: Communicator ended with: 0
2023/04/28 12:14:36 [INFO] RPC endpoint: Communicator ended with: 0
2023/04/28 12:14:36 packer-provisioner-shell plugin: [INFO] RPC client: Communicator ended with: 0
2023/04/28 12:14:36 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:36 Executing docker exec -i dc0bcfdb1b45f9ff6a2139a5ea8c9261ebb3e0c439468e560b49db4b4c50ad12 /bin/sh -c (chmod +x /tmp/script_7564.sh; PACKER_BUILDER_TYPE='docker' PACKER_BUILD_NAME='node18' /tmp/script_7564.sh):
==> terraform-ansible-lambda.docker.node18: /tmp/script_7564.sh: line 2: ./tmp/copy.sh: No such file or directory
2023/04/28 12:14:36 packer-plugin-docker_v1.0.8_x5.0_linux_amd64 plugin: 2023/04/28 12:14:36 [INFO] RPC endpoint: Communicator ended with: 1
2023/04/28 12:14:36 [INFO] 0 bytes written for 'stdout'
2023/04/28 12:14:36 [INFO] 70 bytes written for 'stderr'
2023/04/28 12:14:36 [INFO] RPC client: Communicator ended with: 1
2023/04/28 12:14:36 [INFO] RPC endpoint: Communicator ended with: 1
2023/04/28 12:14:36 packer-provisioner-shell plugin: [INFO] 0 bytes written for 'stdout'
2023/04/28 12:14:36 packer-provisioner-shell plugin: [INFO] 70 bytes written for 'stderr'
2023/04/28 12:14:36 packer-provisioner-shell plugin: [INFO] RPC client: Communicator ended with: 1
2023/04/28 12:14:36 [INFO] (telemetry) ending shell
==> terraform-ansible-lambda.docker.node18: Provisioning step had errors: Running the cleanup provisioner, if present...
==> terraform-ansible-lambda.docker.node18: Killing the container: dc0bcfdb1b45f9ff6a2139a5ea8c9261ebb3e0c439468e560b49db4b4c50ad12
2023/04/28 12:14:37 [INFO] (telemetry) ending docker.node18
==> Wait completed after 3 seconds 90 milliseconds
2023/04/28 12:14:37 machine readable: error-count []string{"1"}
==> Some builds didn't complete successfully and had errors:
2023/04/28 12:14:37 machine readable: terraform-ansible-lambda.docker.node18,error []string{"Script exited with non-zero exit status: 1. Allowed exit codes are: [0]"}
==> Builds finished but no artifacts were created.
2023/04/28 12:14:37 [INFO] (telemetry) Finalizing.
Build 'terraform-ansible-lambda.docker.node18' errored after 3 seconds 90 milliseconds: Script exited with non-zero exit status: 1. Allowed exit codes are: [0]

==> Wait completed after 3 seconds 90 milliseconds

==> Some builds didn't complete successfully and had errors:
--> terraform-ansible-lambda.docker.node18: Script exited with non-zero exit status: 1. Allowed exit codes are: [0]

==> Builds finished but no artifacts were created.
2023/04/28 12:14:37 waiting for all plugin processes to complete...
2023/04/28 12:14:37 /home/igor/.config/packer/plugins/github.com/hashicorp/docker/packer-plugin-docker_v1.0.8_x5.0_linux_amd64: plugin process exited
2023/04/28 12:14:37 /home/igor/.config/packer/plugins/github.com/hashicorp/docker/packer-plugin-docker_v1.0.8_x5.0_linux_amd64: plugin process exited
2023/04/28 12:14:37 /usr/bin/packer: plugin process exited
2023/04/28 12:14:37 /usr/bin/packer: plugin process exited
2023/04/28 12:14:37 /usr/bin/packer: plugin process exited
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.