{"id":42648,"date":"2016-12-26T15:00:36","date_gmt":"2016-12-26T13:00:36","guid":{"rendered":"http:\/\/examples.javacodegeeks.com\/?p=42648"},"modified":"2019-03-29T14:11:47","modified_gmt":"2019-03-29T12:11:47","slug":"docker-environment-variables-example","status":"publish","type":"post","link":"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/","title":{"rendered":"Docker Environment Variables Example"},"content":{"rendered":"<h2>1. Introduction<\/h2>\n<p>In this post, we will discuss different ways to pass and set environment variables into a Docker container. Typically, when a new container is created Docker assigns it a few environment variables by default like so:<\/p>\n<pre class=\"brush:bash\">$ docker run alpine:latest env\nPATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin\nHOSTNAME=de2c993a62fb\nHOME=\/root\n<\/pre>\n<p>Let us now explore what options do we have to inject our custom environment variables into a Docker container.\n<\/p>\n<h2>2. Set environment variables within the container<\/h2>\n<p>Lets first look at the simplest way possible to set environment variables &#8211; open a terminal into the container and set environmnt an variable.<br \/>\nFor this lets first create a very simple container based on alpine:linux and one that spawns an infinite-loop.<\/p>\n<pre class=\"brush:bash\">$ vi Dockerfile\nFROM alpine:latest\nMAINTAINER Hariharan Narayanan \nCOPY .\/infinite-loop.sh \/\nCMD [\"sh\", \"\/infinite-loop.sh\"]\n$\n$ vi infinite_loop.sh\nwhile (true); do echo hi; done\n$\n$ docker build --label=infinite_loop --tag=infinite_loop_1:latest .\nSending build context to Docker daemon 3.072 kB\nStep 1 : FROM alpine:latest\n ---&gt; baa5d63471ea\nStep 2 : MAINTAINER Hariharan Narayanan \n ---&gt; Running in 52b7476a78de\n ---&gt; 430c5ef6db0b\nRemoving intermediate container 52b7476a78de\nStep 3 : COPY .\/infinite-loop.sh \/\n ---&gt; 3ad24e361423\nRemoving intermediate container 25905f482a3d\nStep 4 : CMD sh \/infinite-loop.sh\n ---&gt; Running in 1a7cf984561b\n ---&gt; 2e386a31727b\nRemoving intermediate container 1a7cf984561b\nStep 5 : LABEL \"infinite_loop\" \"\"\n ---&gt; Running in 37ba69ab8515\n ---&gt; 6f683b1c8437\nRemoving intermediate container 37ba69ab8515\nSuccessfully built 6f683b1c8437\n$\n$ docker run --detach infinite_loop_1:latest \n59d4009b9cd1ec274d03799f9913622599fcbdf76eaef32c5f545088bb84c544\n<\/pre>\n<p>Now, open a shell into the container and set an environment variable called <code>example_env_var<\/code> and set to value <code>xyz<\/code>.<\/p>\n<pre class=\"brush:bash\">$ docker exec -it 59d4009b9cd1ec274d03799f9913622599fcbdf76eaef32c5f545088bb84c544 \/bin\/sh\n\/ # export example_env_var=xyz\n\/ # env\nHOSTNAME=59d4009b9cd1\nSHLVL=1\nHOME=\/root\nexample_env_var=xyz\nPATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin\nPWD=\/\n<\/pre>\n<p>The command <code>env<\/code> verifies that the environment variable <code>example_env_var<\/code> is set to value <code>xyz<\/code>.<\/p>\n<p>Now open another session into the same container and check the environment variables set again.<\/p>\n<pre class=\"brush:bash\">$ docker exec -it 59d4009b9cd1ec274d03799f9913622599fcbdf76eaef32c5f545088bb84c544 \/bin\/sh\n\/ # env\nHOSTNAME=59d4009b9cd1\nSHLVL=1\nHOME=\/root\nPATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin\nPWD=\/\n\/ # \n<\/pre>\n<p>As can be seen, the new session does not have the environment variable <code>example_env_var<\/code> set. Lets explore if we can set environment variables in such a way that they are visible in all containers derived from this Docker image.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<h2>3. Set environment variables from the Docker CLI<\/h2>\n<p>The environment variable <code>example_env_var=xyz<\/code> was set above within a container session. This setting was not persistent across container sessions however. Docker engine CLI provides the <code>--env<\/code> option in <code>docker run<\/code> command to set environment variables. Lets try a few examples now.<\/p>\n<h3>3.1 Set a single environment variable<\/h3>\n<p>The environment variable <code>example_env_var=xyz<\/code> can be set in the <code>docker run<\/code> command using the <code>--env<\/code> option like so.<\/p>\n<pre class=\"brush:bash\">$ docker run --detach --env example_env_var=xyz infinite_loop_1:latest \n140311b1ab884142bbf055c16899b25b613d5810f99dd712710eb0da818b3c5b\n$ docker exec -it 140311b1ab884142bbf055c16899b25b613d5810f99dd712710eb0da818b3c5b env\nPATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin\nHOSTNAME=140311b1ab88\nexample_env_var=xyz\nHOME=\/root\n<\/pre>\n<p>Now let&#8217;s check from another terminal if the environment variable is still set<\/p>\n<pre class=\"brush:bash\">$ docker exec -it 140311b1ab884142bbf055c16899b25b613d5810f99dd712710eb0da818b3c5b env\nPATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin\nHOSTNAME=140311b1ab88\nexample_env_var=xyz\nHOME=\/root\n<\/pre>\n<p>So this time the environment variable is set across sessions. Containers and images deriving from this image also will get these variables.<\/p>\n<h3>3.2 Set multiple environment variables<\/h3>\n<p>Multiple environment variables can be set by using multiple <code>--env<\/code> options.<\/p>\n<pre class=\"brush:bash\">$ docker run --detach --env example_env_var=xyz --env example_env_var_2=abc --env example_env_var_3=1 --env example_env_var_4=true infinite_loop_1:latest \n$\n$ docker exec -it be8120b6a7eeb90a0966f6d1b4bb7c07583ddd1dd2618033f9173da916db6e4f env\nPATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin\nHOSTNAME=be8120b6a7ee\nexample_env_var=xyz\nexample_env_var_2=abc\nexample_env_var_3=1\nexample_env_var_4=true\nHOME=\/root\n<\/pre>\n<p>This can become cumbersome when there are many environment variables to be set. This can be eased out by moving environment variables into a separate file, like this&#8230;<\/p>\n<pre class=\"brush:bash\">$ vi settings.env\nexample_env_var=xyz\nexample_env_var_2=abc\nexample_env_var_3=1\nexample_env_var_4=true\n$\n$ docker run --detach --env-file=settings.env infinite_loop_1:latest \n10ede841b2d3594a6aa5d12efe33144e8d6ee5b9ad10763dfaa97991c63a3162\n$\n$ docker exec -it 10ede841b2d3594a6aa5d12efe33144e8d6ee5b9ad10763dfaa97991c63a3162 env\nPATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin\nHOSTNAME=10ede841b2d3\nexample_env_var=xyz\nexample_env_var_2=abc\nexample_env_var_3=1\nexample_env_var_4=true\nHOME=\/root\n<\/pre>\n<p>We saw how to set environment variables from the <code>docker run<\/code> command by using the <code>--env<\/code> and <code>--enf-file<\/code> options. Let us try doing the same without using these options but using instead the options provided in the Dockerfile itself.[ulp id=&#8217;6PVIvOz3kDbYmNRn&#8217;]<\/p>\n<h2>4. Set environment variables from Dockerfile<\/h2>\n<p>Docker engine provides the instruction <code>ENV<\/code> to set environment variables in the Dockerfile.<br \/>\nLets redo the actions done above and introduce the same environment variables in the Dockerfile using the ENV ionstruction like so.<\/p>\n<pre class=\"brush:bash\">$ vi Dockerfile\nFROM alpine:latest\nMAINTAINER Hariharan Narayanan \n\nENV example_env_var=xyz\nENV example_env_var_2=abc\nENV example_env_var_3=1\nENV example_env_var_4=true\n\nCOPY .\/infinite-loop.sh \/\n\nCMD [\"sh\", \"\/infinite-loop.sh\"]\n$ \n$ docker build --label=infinite_loop --tag=infinite_loop_3:latest .\nSending build context to Docker daemon 4.096 kB\nStep 1 : FROM alpine:latest\n ---&gt; baa5d63471ea\nStep 2 : MAINTAINER Hariharan Narayanan \n ---&gt; Using cache\n ---&gt; 430c5ef6db0b\nStep 3 : ENV example_env_var xyz\n ---&gt; Running in de2ddabf92ed\n ---&gt; 679eede67284\nRemoving intermediate container de2ddabf92ed\nStep 4 : ENV example_env_var_2 abc\n ---&gt; Running in f9bda788b180\n ---&gt; 1e6a619df135\nRemoving intermediate container f9bda788b180\nStep 5 : ENV example_env_var_3 1\n ---&gt; Running in 6b90bf849305\n ---&gt; 9ccfd0dff3dc\nRemoving intermediate container 6b90bf849305\nStep 6 : ENV example_env_var_4 true\n ---&gt; Running in b22534b4619b\n ---&gt; 02ba8f83be20\nRemoving intermediate container b22534b4619b\nStep 7 : COPY .\/infinite-loop.sh \/\n ---&gt; 42d3f60549f0\nRemoving intermediate container 7cd3d47df6c4\nStep 8 : CMD sh \/infinite-loop.sh\n ---&gt; Running in c2991b057887\n ---&gt; cdd321499fd2\nRemoving intermediate container c2991b057887\nStep 9 : LABEL \"infinite_loop\" \"\"\n ---&gt; Running in d643b9354e8c\n ---&gt; 87b2ae39b41e\nRemoving intermediate container d643b9354e8c\nSuccessfully built 87b2ae39b41e\n$\n$ docker exec -it 09082da1a35470155d95b49125394a5505c6c1112d3a4b12f57dcbdbff93d057 env\nPATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin\nHOSTNAME=09082da1a354\nexample_env_var=xyz\nexample_env_var_2=abc\nexample_env_var_3=1\nexample_env_var_4=true\nHOME=\/root\n<\/pre>\n<p>Multiple ENV values can also be combined into a single instruction like below. This saves multiple layers in the resulting Docker image.<\/p>\n<pre class=\"brush:bash\">$ vi Dockerfile\nFROM alpine:latest\nMAINTAINER Hariharan Narayanan \n\nENV example_env_var=xyz \\\n    example_env_var_2=abc \\\n    example_env_var_3=1 \\\n    example_env_var_4=true\n\nCOPY .\/infinite-loop.sh \/\n\nCMD [\"sh\", \"\/infinite-loop.sh\"]\n<\/pre>\n<h2>5. Summary<\/h2>\n<p>In this post, we saw different forms of injecting environment variables into Docker containers. Docker provides the <code>--env<\/code> option to inject environment variables through the <code>docker run<\/code> command. Multiple environment variables are injected through multiple <code>--env<\/code> options one for each variable. Environment variables can also be defined in a separate file and injected through the <code>docker run --env-file<\/code> call. In a Dockerfile, the <code>ENV<\/code> instruction is used to provide multiple environment variables. Each <code>ENV<\/code> call creates a new layer in the Docker image and so multiple environment variable definitions can be combined into one ENV<code> call too.<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Introduction In this post, we will discuss different ways to pass and set environment variables into a Docker container. Typically, when a new container is created Docker assigns it a few environment variables by default like so: $ docker run alpine:latest env PATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin HOSTNAME=de2c993a62fb HOME=\/root Let us now explore what options do we have &hellip;<\/p>\n","protected":false},"author":103,"featured_media":31013,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1354],"tags":[1629],"class_list":["post-42648","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-docker","tag-environment-variables"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Docker Environment Variables Example - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"This post provides examples to inject environment variables into Docker containers. Docker has options to inject variables in CLI and through Dockerfile.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Docker Environment Variables Example - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"This post provides examples to inject environment variables into Docker containers. Docker has options to inject variables in CLI and through Dockerfile.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/\" \/>\n<meta property=\"og:site_name\" content=\"Examples Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2016-12-26T13:00:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-03-29T12:11:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2015\/12\/docker-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Hariharan Narayanan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Hariharan Narayanan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/\"},\"author\":{\"name\":\"Hariharan Narayanan\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/780d96edfe3bce18c5440613fa88bce3\"},\"headline\":\"Docker Environment Variables Example\",\"datePublished\":\"2016-12-26T13:00:36+00:00\",\"dateModified\":\"2019-03-29T12:11:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/\"},\"wordCount\":517,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2015\/12\/docker-logo.jpg\",\"keywords\":[\"environment-variables\"],\"articleSection\":[\"Docker\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/\",\"name\":\"Docker Environment Variables Example - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2015\/12\/docker-logo.jpg\",\"datePublished\":\"2016-12-26T13:00:36+00:00\",\"dateModified\":\"2019-03-29T12:11:47+00:00\",\"description\":\"This post provides examples to inject environment variables into Docker containers. Docker has options to inject variables in CLI and through Dockerfile.\",\"breadcrumb\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/#primaryimage\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2015\/12\/docker-logo.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2015\/12\/docker-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/examples.javacodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DevOps\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/devops\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Docker\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/devops\/docker\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Docker Environment Variables Example\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Examples and Code Snippets\",\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/javacodegeeks\",\"https:\/\/x.com\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/780d96edfe3bce18c5440613fa88bce3\",\"name\":\"Hariharan Narayanan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/10\/Hariharan-Narayanan-96x96.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/10\/Hariharan-Narayanan-96x96.jpg\",\"caption\":\"Hariharan Narayanan\"},\"description\":\"Hari graduated from the School of Computer and Information Sciences in the University of Hyderabad. Over his career he has been involved in many complex projects in mobile applications, enterprise applications, distributed applications, micro-services, and other platforms and frameworks. He works as a consultant and is mainly involved with projects based on Java, C++ and Big Data technologies.\",\"sameAs\":[\"https:\/\/www.javacodegeeks.com\"],\"url\":\"https:\/\/examples.javacodegeeks.com\/author\/hariharan-narayanan\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Docker Environment Variables Example - Java Code Geeks","description":"This post provides examples to inject environment variables into Docker containers. Docker has options to inject variables in CLI and through Dockerfile.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/","og_locale":"en_US","og_type":"article","og_title":"Docker Environment Variables Example - Java Code Geeks","og_description":"This post provides examples to inject environment variables into Docker containers. Docker has options to inject variables in CLI and through Dockerfile.","og_url":"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/","og_site_name":"Examples Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2016-12-26T13:00:36+00:00","article_modified_time":"2019-03-29T12:11:47+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2015\/12\/docker-logo.jpg","type":"image\/jpeg"}],"author":"Hariharan Narayanan","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Hariharan Narayanan","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/#article","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/"},"author":{"name":"Hariharan Narayanan","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/780d96edfe3bce18c5440613fa88bce3"},"headline":"Docker Environment Variables Example","datePublished":"2016-12-26T13:00:36+00:00","dateModified":"2019-03-29T12:11:47+00:00","mainEntityOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/"},"wordCount":517,"commentCount":0,"publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2015\/12\/docker-logo.jpg","keywords":["environment-variables"],"articleSection":["Docker"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/","url":"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/","name":"Docker Environment Variables Example - Java Code Geeks","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/#primaryimage"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2015\/12\/docker-logo.jpg","datePublished":"2016-12-26T13:00:36+00:00","dateModified":"2019-03-29T12:11:47+00:00","description":"This post provides examples to inject environment variables into Docker containers. Docker has options to inject variables in CLI and through Dockerfile.","breadcrumb":{"@id":"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/#primaryimage","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2015\/12\/docker-logo.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2015\/12\/docker-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/examples.javacodegeeks.com\/devops\/docker\/docker-environment-variables-example\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/examples.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"DevOps","item":"https:\/\/examples.javacodegeeks.com\/category\/devops\/"},{"@type":"ListItem","position":3,"name":"Docker","item":"https:\/\/examples.javacodegeeks.com\/category\/devops\/docker\/"},{"@type":"ListItem","position":4,"name":"Docker Environment Variables Example"}]},{"@type":"WebSite","@id":"https:\/\/examples.javacodegeeks.com\/#website","url":"https:\/\/examples.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Examples and Code Snippets","publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/examples.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/examples.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/780d96edfe3bce18c5440613fa88bce3","name":"Hariharan Narayanan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/10\/Hariharan-Narayanan-96x96.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/10\/Hariharan-Narayanan-96x96.jpg","caption":"Hariharan Narayanan"},"description":"Hari graduated from the School of Computer and Information Sciences in the University of Hyderabad. Over his career he has been involved in many complex projects in mobile applications, enterprise applications, distributed applications, micro-services, and other platforms and frameworks. He works as a consultant and is mainly involved with projects based on Java, C++ and Big Data technologies.","sameAs":["https:\/\/www.javacodegeeks.com"],"url":"https:\/\/examples.javacodegeeks.com\/author\/hariharan-narayanan\/"}]}},"_links":{"self":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/42648","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/users\/103"}],"replies":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=42648"}],"version-history":[{"count":0,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/42648\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media\/31013"}],"wp:attachment":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=42648"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=42648"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=42648"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}