Packer Docker Builder: configure shell for docker run?Check if a directory exists in a shell scriptHow do I prompt for Yes/No/Cancel input in a Linux shell script?How to use SSH to run a shell script on a remote machine?In the shell, what does “ 2>&1 ” mean?YYYY-MM-DD format date in shell scriptCheck existence of input argument in a Bash shell scriptHow is Docker different from a virtual machine?Should I use Vagrant or Docker for creating an isolated environment?How to remove old Docker containersHow do I get into a Docker container's shell?

Error in master's thesis, I do not know what to do

Taking the numerator and the denominator

Did I make a mistake by ccing email to boss to others?

Is there any common country to visit for persons holding UK and Schengen visas?

"Oh no!" in Latin

A seasonal riddle

Can you take a "free object interaction" while incapacitated?

When is the exact date for EOL of Ubuntu 14.04 LTS?

Why is "la Gestapo" feminine?

Hashing password to increase entropy

Why would five hundred and five same as one?

"Marked down as someone wanting to sell shares." What does that mean?

Extract substring according to regexp with sed or grep

Checking @@ROWCOUNT failing

Why can't I get pgrep output right to variable on bash script?

Has the laser at Magurele, Romania reached the tenth of the Sun power?

How do you justify more code being written by following clean code practices?

Derivative of an interpolated function

How do you say "Trust your struggle." in French?

Make a Bowl of Alphabet Soup

C++ lambda syntax

Sort with assumptions

Showing mass murder in a kid's book

What (if any) is the reason to buy in small local stores?



Packer Docker Builder: configure shell for docker run?


Check if a directory exists in a shell scriptHow do I prompt for Yes/No/Cancel input in a Linux shell script?How to use SSH to run a shell script on a remote machine?In the shell, what does “ 2>&1 ” mean?YYYY-MM-DD format date in shell scriptCheck existence of input argument in a Bash shell scriptHow is Docker different from a virtual machine?Should I use Vagrant or Docker for creating an isolated environment?How to remove old Docker containersHow do I get into a Docker container's shell?













1















i want to provision a docker image with docker and ansible. I want to use alpine as base image. Some docker images such as Alpine doesn't provide "/bin/bash". When packer runs that docker image it keeps starting /bin/bash. This will crash the build process:



dockerbuild.json:




"builders": [

"type": "docker",
"image": "alpine:3.8",
"commit": true

],
"provisioners": [

"type": "ansible",
"user": "root",
"playbook_file": "playbook.yml",
"extra_arguments": [
"--extra-vars",
"ansible_connection=docker"
]

]



Error:



$> packer build dockerbuild.json
...
==> docker: Starting docker container...
docker: Run command: docker run -v /Users/engi/.packer.d/tmp/packer-docker014300196:/packer-files -d -i -t alpine:3.8 /bin/bash
==> docker: Error running container: Docker exited with a non-zero exit status.
==> docker: Stderr: docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused "exec: "/bin/bash": stat /bin/bash: no such file or directory": unknown.


I can run the image manually with "/bin/sh" or without explicit shell:



docker run --rm -i -t alpine:3.8 /bin/sh
docker run --rm -i -t alpine:3.8


Do you know how I can packer tell not to start /bin/bash ?










share|improve this question


























    1















    i want to provision a docker image with docker and ansible. I want to use alpine as base image. Some docker images such as Alpine doesn't provide "/bin/bash". When packer runs that docker image it keeps starting /bin/bash. This will crash the build process:



    dockerbuild.json:




    "builders": [

    "type": "docker",
    "image": "alpine:3.8",
    "commit": true

    ],
    "provisioners": [

    "type": "ansible",
    "user": "root",
    "playbook_file": "playbook.yml",
    "extra_arguments": [
    "--extra-vars",
    "ansible_connection=docker"
    ]

    ]



    Error:



    $> packer build dockerbuild.json
    ...
    ==> docker: Starting docker container...
    docker: Run command: docker run -v /Users/engi/.packer.d/tmp/packer-docker014300196:/packer-files -d -i -t alpine:3.8 /bin/bash
    ==> docker: Error running container: Docker exited with a non-zero exit status.
    ==> docker: Stderr: docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused "exec: "/bin/bash": stat /bin/bash: no such file or directory": unknown.


    I can run the image manually with "/bin/sh" or without explicit shell:



    docker run --rm -i -t alpine:3.8 /bin/sh
    docker run --rm -i -t alpine:3.8


    Do you know how I can packer tell not to start /bin/bash ?










    share|improve this question
























      1












      1








      1








      i want to provision a docker image with docker and ansible. I want to use alpine as base image. Some docker images such as Alpine doesn't provide "/bin/bash". When packer runs that docker image it keeps starting /bin/bash. This will crash the build process:



      dockerbuild.json:




      "builders": [

      "type": "docker",
      "image": "alpine:3.8",
      "commit": true

      ],
      "provisioners": [

      "type": "ansible",
      "user": "root",
      "playbook_file": "playbook.yml",
      "extra_arguments": [
      "--extra-vars",
      "ansible_connection=docker"
      ]

      ]



      Error:



      $> packer build dockerbuild.json
      ...
      ==> docker: Starting docker container...
      docker: Run command: docker run -v /Users/engi/.packer.d/tmp/packer-docker014300196:/packer-files -d -i -t alpine:3.8 /bin/bash
      ==> docker: Error running container: Docker exited with a non-zero exit status.
      ==> docker: Stderr: docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused "exec: "/bin/bash": stat /bin/bash: no such file or directory": unknown.


      I can run the image manually with "/bin/sh" or without explicit shell:



      docker run --rm -i -t alpine:3.8 /bin/sh
      docker run --rm -i -t alpine:3.8


      Do you know how I can packer tell not to start /bin/bash ?










      share|improve this question














      i want to provision a docker image with docker and ansible. I want to use alpine as base image. Some docker images such as Alpine doesn't provide "/bin/bash". When packer runs that docker image it keeps starting /bin/bash. This will crash the build process:



      dockerbuild.json:




      "builders": [

      "type": "docker",
      "image": "alpine:3.8",
      "commit": true

      ],
      "provisioners": [

      "type": "ansible",
      "user": "root",
      "playbook_file": "playbook.yml",
      "extra_arguments": [
      "--extra-vars",
      "ansible_connection=docker"
      ]

      ]



      Error:



      $> packer build dockerbuild.json
      ...
      ==> docker: Starting docker container...
      docker: Run command: docker run -v /Users/engi/.packer.d/tmp/packer-docker014300196:/packer-files -d -i -t alpine:3.8 /bin/bash
      ==> docker: Error running container: Docker exited with a non-zero exit status.
      ==> docker: Stderr: docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused "exec: "/bin/bash": stat /bin/bash: no such file or directory": unknown.


      I can run the image manually with "/bin/sh" or without explicit shell:



      docker run --rm -i -t alpine:3.8 /bin/sh
      docker run --rm -i -t alpine:3.8


      Do you know how I can packer tell not to start /bin/bash ?







      bash shell docker builder






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 7 at 20:17









      user10374572user10374572

      713




      713






















          1 Answer
          1






          active

          oldest

          votes


















          1














          I found the solution at docs (surprise): run_command



          https://www.packer.io/docs/builders/docker.html



          This worked for me:




          "builders": [

          "type": "docker",
          "image": "alpine:3.8",
          "commit": true,
          "run_command": ["-d", "-i", "-t", ".Image", "/bin/sh"]

          ],
          "provisioners": [

          "type": "ansible",
          "user": "root",
          "playbook_file": "playbook.yml",
          "extra_arguments": [
          "--extra-vars",
          "ansible_connection=docker"
          ]

          ]






          share|improve this answer






















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55052145%2fpacker-docker-builder-configure-shell-for-docker-run%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            1














            I found the solution at docs (surprise): run_command



            https://www.packer.io/docs/builders/docker.html



            This worked for me:




            "builders": [

            "type": "docker",
            "image": "alpine:3.8",
            "commit": true,
            "run_command": ["-d", "-i", "-t", ".Image", "/bin/sh"]

            ],
            "provisioners": [

            "type": "ansible",
            "user": "root",
            "playbook_file": "playbook.yml",
            "extra_arguments": [
            "--extra-vars",
            "ansible_connection=docker"
            ]

            ]






            share|improve this answer



























              1














              I found the solution at docs (surprise): run_command



              https://www.packer.io/docs/builders/docker.html



              This worked for me:




              "builders": [

              "type": "docker",
              "image": "alpine:3.8",
              "commit": true,
              "run_command": ["-d", "-i", "-t", ".Image", "/bin/sh"]

              ],
              "provisioners": [

              "type": "ansible",
              "user": "root",
              "playbook_file": "playbook.yml",
              "extra_arguments": [
              "--extra-vars",
              "ansible_connection=docker"
              ]

              ]






              share|improve this answer

























                1












                1








                1







                I found the solution at docs (surprise): run_command



                https://www.packer.io/docs/builders/docker.html



                This worked for me:




                "builders": [

                "type": "docker",
                "image": "alpine:3.8",
                "commit": true,
                "run_command": ["-d", "-i", "-t", ".Image", "/bin/sh"]

                ],
                "provisioners": [

                "type": "ansible",
                "user": "root",
                "playbook_file": "playbook.yml",
                "extra_arguments": [
                "--extra-vars",
                "ansible_connection=docker"
                ]

                ]






                share|improve this answer













                I found the solution at docs (surprise): run_command



                https://www.packer.io/docs/builders/docker.html



                This worked for me:




                "builders": [

                "type": "docker",
                "image": "alpine:3.8",
                "commit": true,
                "run_command": ["-d", "-i", "-t", ".Image", "/bin/sh"]

                ],
                "provisioners": [

                "type": "ansible",
                "user": "root",
                "playbook_file": "playbook.yml",
                "extra_arguments": [
                "--extra-vars",
                "ansible_connection=docker"
                ]

                ]







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Mar 7 at 20:34









                user10374572user10374572

                713




                713





























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55052145%2fpacker-docker-builder-configure-shell-for-docker-run%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    How to get text form Clipboard with JavaScript in Firefox 56?How to validate an email address in JavaScript?How do JavaScript closures work?How do I remove a property from a JavaScript object?How do you get a timestamp in JavaScript?How do I copy to the clipboard in JavaScript?How do I include a JavaScript file in another JavaScript file?Get the current URL with JavaScript?How to replace all occurrences of a string in JavaScriptHow to check whether a string contains a substring in JavaScript?How do I remove a particular element from an array in JavaScript?

                    Can't initialize raids on a new ASUS Prime B360M-A motherboard2019 Community Moderator ElectionSimilar to RAID config yet more like mirroring solution?Can't get motherboard serial numberWhy does the BIOS entry point start with a WBINVD instruction?UEFI performance Asus Maximus V Extreme

                    List of MPs elected to the English parliament in 1640 (April) Contents List of constituencies and members See also Notes References Navigation menueNational Archives – The Glynde Place ArchivesCobbett's Parliamentary history of England, from the Norman Conquest in 1066 to the year 1803'Aldermen in Parliament', The Aldermen of the City of London: Temp. Henry III – 1912onepage&q&f&#61, false 229