How to mount a volume to your Docker Image on a Gitlab Runner? (gitlab-ci.yml)












0















I've running a Docker image for browser testing setup on my gitlab runner. This is specified in a gitlab-ci.yml like so:



test:
stage: test
services:
- name: mysql:5.7
alias: mysql-test
image: chilio/laravel-dusk-ci:stable
script:
- cp .env.ci .env
...


Now, when I run multiple tests, the first ones succeed and the rest fails. It seems this might be related to the shared memory, according to this issue: elgalu/docker-selenium#20. I've already increased the shm_size setting on the gitlab runner itself, however I think I need to mount the docker image's shm folder to the runner's shm folder. Normally I would specify this in a docker-compose.yml or on the commandline like so:



docker run -v /dev/shm:/dev/shm


However I can't figure out how to do this in the gitlab-ci.yml. On the image key you can only specify a name and entrypoint... as documented here



The question is: Can anyone tell me how mount the folder?



ps: for those interested, this is the error:



FacebookWebDriverExceptionNoSuchDriverException: invalid session id









share|improve this question



























    0















    I've running a Docker image for browser testing setup on my gitlab runner. This is specified in a gitlab-ci.yml like so:



    test:
    stage: test
    services:
    - name: mysql:5.7
    alias: mysql-test
    image: chilio/laravel-dusk-ci:stable
    script:
    - cp .env.ci .env
    ...


    Now, when I run multiple tests, the first ones succeed and the rest fails. It seems this might be related to the shared memory, according to this issue: elgalu/docker-selenium#20. I've already increased the shm_size setting on the gitlab runner itself, however I think I need to mount the docker image's shm folder to the runner's shm folder. Normally I would specify this in a docker-compose.yml or on the commandline like so:



    docker run -v /dev/shm:/dev/shm


    However I can't figure out how to do this in the gitlab-ci.yml. On the image key you can only specify a name and entrypoint... as documented here



    The question is: Can anyone tell me how mount the folder?



    ps: for those interested, this is the error:



    FacebookWebDriverExceptionNoSuchDriverException: invalid session id









    share|improve this question

























      0












      0








      0








      I've running a Docker image for browser testing setup on my gitlab runner. This is specified in a gitlab-ci.yml like so:



      test:
      stage: test
      services:
      - name: mysql:5.7
      alias: mysql-test
      image: chilio/laravel-dusk-ci:stable
      script:
      - cp .env.ci .env
      ...


      Now, when I run multiple tests, the first ones succeed and the rest fails. It seems this might be related to the shared memory, according to this issue: elgalu/docker-selenium#20. I've already increased the shm_size setting on the gitlab runner itself, however I think I need to mount the docker image's shm folder to the runner's shm folder. Normally I would specify this in a docker-compose.yml or on the commandline like so:



      docker run -v /dev/shm:/dev/shm


      However I can't figure out how to do this in the gitlab-ci.yml. On the image key you can only specify a name and entrypoint... as documented here



      The question is: Can anyone tell me how mount the folder?



      ps: for those interested, this is the error:



      FacebookWebDriverExceptionNoSuchDriverException: invalid session id









      share|improve this question














      I've running a Docker image for browser testing setup on my gitlab runner. This is specified in a gitlab-ci.yml like so:



      test:
      stage: test
      services:
      - name: mysql:5.7
      alias: mysql-test
      image: chilio/laravel-dusk-ci:stable
      script:
      - cp .env.ci .env
      ...


      Now, when I run multiple tests, the first ones succeed and the rest fails. It seems this might be related to the shared memory, according to this issue: elgalu/docker-selenium#20. I've already increased the shm_size setting on the gitlab runner itself, however I think I need to mount the docker image's shm folder to the runner's shm folder. Normally I would specify this in a docker-compose.yml or on the commandline like so:



      docker run -v /dev/shm:/dev/shm


      However I can't figure out how to do this in the gitlab-ci.yml. On the image key you can only specify a name and entrypoint... as documented here



      The question is: Can anyone tell me how mount the folder?



      ps: for those interested, this is the error:



      FacebookWebDriverExceptionNoSuchDriverException: invalid session id






      docker gitlab gitlab-ci






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 19 at 13:50









      Martijn ImhoffMartijn Imhoff

      3411213




      3411213
























          1 Answer
          1






          active

          oldest

          votes


















          0














          You have to change your configuration of your gitlab runner to increase shm size



          For instance:
          shm_size = 300000






          share|improve this answer
























          • I did that, but I dont think that does increase the available shared memory on my docker image?

            – Martijn Imhoff
            Jan 19 at 15:12











          • According to gitlab.com/gitlab-org/gitlab-runner/merge_requests/468 it should work and make dockers images use shared host memory?

            – Joost Evertse
            Jan 19 at 15:15













          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%2f54267767%2fhow-to-mount-a-volume-to-your-docker-image-on-a-gitlab-runner-gitlab-ci-yml%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









          0














          You have to change your configuration of your gitlab runner to increase shm size



          For instance:
          shm_size = 300000






          share|improve this answer
























          • I did that, but I dont think that does increase the available shared memory on my docker image?

            – Martijn Imhoff
            Jan 19 at 15:12











          • According to gitlab.com/gitlab-org/gitlab-runner/merge_requests/468 it should work and make dockers images use shared host memory?

            – Joost Evertse
            Jan 19 at 15:15


















          0














          You have to change your configuration of your gitlab runner to increase shm size



          For instance:
          shm_size = 300000






          share|improve this answer
























          • I did that, but I dont think that does increase the available shared memory on my docker image?

            – Martijn Imhoff
            Jan 19 at 15:12











          • According to gitlab.com/gitlab-org/gitlab-runner/merge_requests/468 it should work and make dockers images use shared host memory?

            – Joost Evertse
            Jan 19 at 15:15
















          0












          0








          0







          You have to change your configuration of your gitlab runner to increase shm size



          For instance:
          shm_size = 300000






          share|improve this answer













          You have to change your configuration of your gitlab runner to increase shm size



          For instance:
          shm_size = 300000







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jan 19 at 14:21









          Joost EvertseJoost Evertse

          65246




          65246













          • I did that, but I dont think that does increase the available shared memory on my docker image?

            – Martijn Imhoff
            Jan 19 at 15:12











          • According to gitlab.com/gitlab-org/gitlab-runner/merge_requests/468 it should work and make dockers images use shared host memory?

            – Joost Evertse
            Jan 19 at 15:15





















          • I did that, but I dont think that does increase the available shared memory on my docker image?

            – Martijn Imhoff
            Jan 19 at 15:12











          • According to gitlab.com/gitlab-org/gitlab-runner/merge_requests/468 it should work and make dockers images use shared host memory?

            – Joost Evertse
            Jan 19 at 15:15



















          I did that, but I dont think that does increase the available shared memory on my docker image?

          – Martijn Imhoff
          Jan 19 at 15:12





          I did that, but I dont think that does increase the available shared memory on my docker image?

          – Martijn Imhoff
          Jan 19 at 15:12













          According to gitlab.com/gitlab-org/gitlab-runner/merge_requests/468 it should work and make dockers images use shared host memory?

          – Joost Evertse
          Jan 19 at 15:15







          According to gitlab.com/gitlab-org/gitlab-runner/merge_requests/468 it should work and make dockers images use shared host memory?

          – Joost Evertse
          Jan 19 at 15:15




















          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%2f54267767%2fhow-to-mount-a-volume-to-your-docker-image-on-a-gitlab-runner-gitlab-ci-yml%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

          Callistus III

          Ostreoida

          Plistias Cous