{"id":3353,"date":"2017-12-20T17:15:54","date_gmt":"2017-12-20T15:15:54","guid":{"rendered":"https:\/\/www.systemcodegeeks.com\/?p=3353"},"modified":"2017-12-20T10:37:14","modified_gmt":"2017-12-20T08:37:14","slug":"adjusting-linux-kernel-parameters-docker-compose","status":"publish","type":"post","link":"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/","title":{"rendered":"Adjusting Linux Kernel Parameters with Docker Compose"},"content":{"rendered":"<p>Docker Compose is a great utility for anyone developing Dockerized applications. It\u2019s a tool that I personally use daily. Recently I came across yet another powerful feature of Docker Compose: the ability to change Linux Kernel Parameters.<\/p>\n<p>In today\u2019s article, we will explore how to use this often overlooked but \u201cuseful when you need it\u201d feature of Docker Compose.<\/p>\n<p>To get started however, let\u2019s first create a Redis service using Docker Compose.<\/p>\n<h2>Starting with a Simple Redis Service<\/h2>\n<p>Docker Compose is a tool that allows users to create Dockerized services with a simple YAML file. To get a better understanding of how this works, let\u2019s go ahead and create an example <code>docker-compose.yml<\/code>.<\/p>\n<pre class=\"brush:php\">version: '3'\r\nservices:\r\n  redis:\r\n    image: redis:latest<\/pre>\n<p>In the above example, we have a single \u201cservice\u201d named <code>redis<\/code>. This service definition is how Docker Compose allows users to define different services. Docker Compose will take these services and run them within Docker containers.<\/p>\n<p>In the example above, the <code>redis<\/code> service is provided by a container using the <code>redis:latest<\/code> image. To start this service, we can simply execute the <code>docker-compose<\/code> command followed by the <code>up<\/code> parameter.<\/p>\n<pre class=\"brush:php\">$ docker-compose up    \r\nCreating network \"rediscomposeexample_default\" with the default driver\r\nCreating rediscomposeexample_redis_1 ... \r\nCreating rediscomposeexample_redis_1 ... done\r\nAttaching to rediscomposeexample_redis_1\r\nredis_1  | 1:C 12 Oct 03:57:02.915 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server \/path\/to\/redis.conf\r\nredis_1  | 1:M 12 Oct 03:57:02.937 # WARNING: The TCP backlog setting of 511 cannot be enforced because \/proc\/sys\/net\/core\/somaxconn is set to the lower value of 128.\r\nredis_1  | 1:M 12 Oct 03:57:02.937 # Server started, Redis version 3.2.6\r\nredis_1  | 1:M 12 Oct 03:57:02.939 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never &gt; \/sys\/kernel\/mm\/transparent_hugepage\/enabled' as root, and add it to your \/etc\/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.\r\nredis_1  | 1:M 12 Oct 03:57:02.940 * The server is now ready to accept connections on port 6379<\/pre>\n<p>In the above output, we can see that the <code>docker-compose up<\/code> command created a single container, named <code>rediscomposeexample_redis_1<\/code>.<\/p>\n<p>As far as creating a single Redis container with Docker Compose, that is it. With only a few lines within a <code>docker-compose.yml<\/code> file and a single command, we have a running Redis container. However, this example doesn\u2019t show the power of Docker Compose.<\/p>\n<p>To get a better idea of how Docker Compose is useful, let\u2019s add another container into the mix.<\/p>\n<h2>Multi-service Docker Compose<\/h2>\n<p>Since our first example used a Redis service, let\u2019s make our next container a bit more interesting. We will go ahead and add a Redis Commander service to our <code>docker-compose.yml<\/code> file.<\/p>\n<p>Redis Commander is an application that allows users to explore a Redis instance through a browser. What this means is not only do we have to have an instance of Redis Commander, we also need to be able to connect it to our <code>redis<\/code> service.<\/p>\n<pre class=\"brush:php\">version: '3'\r\nservices:\r\n  redis:\r\n    image: redis:latest\r\n  redis-commander:\r\n    image: tenstartups\/redis-commander\r\n    command: --redis-host redis\r\n    ports:\r\n      - 8081:8081<\/pre>\n<p>In the above example, we added another service named <code>redis-commander<\/code>. This service will launch a container using the <code>tenstartups\/redis-commander<\/code> image.<\/p>\n<p>At this point, the <code>redis-commander<\/code> service would not be able to connect to the <code>redis<\/code> service. For these services to communicate, we need to define the dependency within the <code>docker-compose.yml<\/code> file.<\/p>\n<p>We can do this by adding the <code>depends_on<\/code> key shown below.<\/p>\n<pre class=\"brush:php\">version: '3'\r\nservices:\r\n  redis:\r\n    image: redis:latest\r\n  redis-commander:\r\n    image: tenstartups\/redis-commander\r\n    command: --redis-host redis\r\n    depends_on:\r\n      - redis\r\n    ports:\r\n      - 8081:8081<\/pre>\n<p>With our two services linked, let\u2019s go ahead and execute another <code>docker-compose up<\/code>.<\/p>\n<pre class=\"brush:php\">$ docker-compose up     \r\nCreating network \"rediscomposeexample_default\" with the default driver\r\nCreating rediscomposeexample_redis_1 ... \r\nCreating rediscomposeexample_redis_1 ... done\r\nCreating rediscomposeexample_redis-commander_1 ... \r\nCreating rediscomposeexample_redis-commander_1 ... done\r\nAttaching to rediscomposeexample_redis_1, rediscomposeexample_redis-commander_1\r\nredis_1            | 1:C 16 Oct 20:56:51.613 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server \/path\/to\/redis.conf\r\nredis_1            | 1:M 16 Oct 20:56:51.618 # WARNING: The TCP backlog setting of 511 cannot be enforced because \/proc\/sys\/net\/core\/somaxconn is set to the lower value of 128.\r\nredis_1            | 1:M 16 Oct 20:56:51.618 # Server started, Redis version 3.2.6\r\nredis_1            | 1:M 16 Oct 20:56:51.619 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never &gt; \/sys\/kernel\/mm\/transparent_hugepage\/enabled' as root, and add it to your \/etc\/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.\r\nredis_1            | 1:M 16 Oct 20:56:51.619 * The server is now ready to accept connections on port 6379\r\nredis-commander_1  | No Save: true\r\nredis-commander_1  | listening on  0.0.0.0 : 8081\r\nredis-commander_1  | Redis Connection redis:6379 Using Redis DB #0<\/pre>\n<p>In the above example, we can see there are two Docker containers running: a <code>redis<\/code> container as well as a <code>redis-commander<\/code> container.<\/p>\n<p>This is a much better example of why Docker Compose is a powerful tool. In this example, we quickly specified multiple services within a single YAML file. We then turn those services into linked Docker containers with a single command.<\/p>\n<p>We can also copy this <code>docker-compose.yml<\/code> file to any server and start up these same services. So not only is Docker Compose useful for local development, it can also be useful for deployment.<\/p>\n<p>!Sign up for a free Codeship Account<\/p>\n<h2>Modifying Kernel Parameters with Docker Compose<\/h2>\n<p>Now that we have a better idea of what Docker Composes is and how it works, let\u2019s get to an uncommon feature: using Docker Compose to change Linux Kernel Parameters of our services.<\/p>\n<p>If we look back at the output from our above example when we started the <code>redis<\/code> service, we can see a couple of warnings. One of those warnings is in regards to the <code>somaxconn<\/code> setting.<\/p>\n<pre class=\"brush:php\">redis_1            | 1:M 16 Oct 20:56:51.618 # WARNING: The TCP backlog setting of 511 cannot be enforced because \/proc\/sys\/net\/core\/somaxconn is set to the lower value of 128.<\/pre>\n<p>The <code>somaxconn<\/code> parameter is a Linux Kernel Parameter that specifies the maximum backlogged TCP\/IP sockets. This parameter is a setting in Linux that by default is set to <code>128<\/code>. This means that the kernel will only allow <code>128<\/code> connections to be \u201cbacklogged\u201d at a time.<\/p>\n<p>For highly accessed services like Redis, this may not be enough. The error above shows that Redis was attempting to use a value of <code>511<\/code>.<\/p>\n<p>Since the container\u2019s <code>somaxconn<\/code> value is the default of <code>128<\/code>, Redis was not able to use a value of <code>511<\/code>.<\/p>\n<p>In a non-containerized world, changing this kernel parameter would be as simple as placing the following into the <code>\/etc\/sysctl.conf<\/code> file.<\/p>\n<pre class=\"brush:php\">net.core.somaxconn=1024<\/pre>\n<p>After adding the above, you would simply execute <code>sysctl -p<\/code>. However, in the container world this is a bit different.<\/p>\n<p>We could perform the same tasks via a <code>Dockerfile<\/code>. However in our example, we are using public images from DockerHub. A simpler approach would be to specify this setting within the <code>docker-compose.yml<\/code> file itself.<\/p>\n<p>To do this, we simply need to add the <code>sysctl<\/code> key as shown below.<\/p>\n<pre class=\"brush:php\">version: '3'\r\nservices:\r\n  redis:\r\n    image: redis:latest\r\n    sysctls:\r\n      net.core.somaxconn: 1024\r\n  redis-commander:\r\n    image: tenstartups\/redis-commander\r\n    command: --redis-host redis\r\n    depends_on:\r\n      - redis\r\n    ports:\r\n      - 8081:8081<\/pre>\n<p>In the above, we added two simple lines. These two lines will set the <code>net.core.somaxconn<\/code> parameter to <code>1024<\/code>. This is well above the <code>511<\/code> value Redis was trying to use.<\/p>\n<p>Let\u2019s see what happens if we once again execute a <code>docker-compose up<\/code> command.<\/p>\n<pre class=\"brush:php\">$ docker-compose up redis\r\nRecreating rediscomposeexample_redis_1 ...\r\nRecreating rediscomposeexample_redis_1 ... done\r\nAttaching to rediscomposeexample_redis_1\r\nredis_1            | 1:C 16 Oct 21:27:24.423 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server \/path\/to\/redis.conf\r\nredis_1            | 1:M 16 Oct 21:27:24.426 # Server started, Redis version 3.2.6\r\nredis_1            | 1:M 16 Oct 21:27:24.427 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never &gt; \/sys\/kernel\/mm\/transparent_hugepage\/enabled' as root, and add it to your \/etc\/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.\r\nredis_1            | 1:M 16 Oct 21:27:24.427 * DB loaded from disk: 0.000 seconds\r\nredis_1            | 1:M 16 Oct 21:27:24.427 * The server is now ready to accept connections on port 6379<\/pre>\n<p>In the above example, we executed <code>docker-compose up<\/code>. However, we also added <code>redis<\/code> to the command. This is a way of telling Docker Compose to only bring up the <code>redis<\/code> service.<\/p>\n<p>If we look at the above, we can see that the warning around the <code>somaxconn<\/code> value is gone. This means with two simple lines, we were successful in changing the Redis container\u2019s <code>somaxconn<\/code> kernel parameter.<\/p>\n<h2>Summary<\/h2>\n<p>In today\u2019s articl, we went through a little refresher on Docker Compose. We explored how it is useful for launching multiple connected containers. Finally, we also learned an often overlooked feature, one we can use to easily change the Linux Kernel Parameters within our containers.<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td>Published on System Code Geeks with permission by Ben Cane, partner at our <a href=\"http:\/\/www.systemcodegeeks.com\/join-us\/scg\/\" target=\"_blank\" rel=\"noopener\">SCG program<\/a>. See the original article here: <a href=\"https:\/\/blog.codeship.com\/adjusting-linux-kernel-parameters-with-docker-compose\/\" target=\"_blank\" rel=\"noopener\">Adjusting Linux Kernel Parameters with Docker Compose <\/a><\/p>\n<p>Opinions expressed by System Code Geeks contributors are their own.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Docker Compose is a great utility for anyone developing Dockerized applications. It\u2019s a tool that I personally use daily. Recently I came across yet another powerful feature of Docker Compose: the ability to change Linux Kernel Parameters. In today\u2019s article, we will explore how to use this often overlooked but \u201cuseful when you need it\u201d &hellip;<\/p>\n","protected":false},"author":36,"featured_media":390,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[42],"class_list":["post-3353","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","tag-docker"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Adjusting Linux Kernel Parameters with Docker Compose - System Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"Docker Compose is a great utility for anyone developing Dockerized applications. It\u2019s a tool that I personally use daily. Recently I came across yet\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Adjusting Linux Kernel Parameters with Docker Compose - System Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"Docker Compose is a great utility for anyone developing Dockerized applications. It\u2019s a tool that I personally use daily. Recently I came across yet\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/\" \/>\n<meta property=\"og:site_name\" content=\"System Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/systemcodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2017-12-20T15:15:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/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=\"Ben Cane\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@systemcodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@systemcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ben Cane\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/\"},\"author\":{\"name\":\"Ben Cane\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/86302616000bcfa1e56e85bf9e0fb377\"},\"headline\":\"Adjusting Linux Kernel Parameters with Docker Compose\",\"datePublished\":\"2017-12-20T15:15:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/\"},\"wordCount\":931,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg\",\"keywords\":[\"Docker\"],\"articleSection\":[\"Linux\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/\",\"url\":\"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/\",\"name\":\"Adjusting Linux Kernel Parameters with Docker Compose - System Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg\",\"datePublished\":\"2017-12-20T15:15:54+00:00\",\"description\":\"Docker Compose is a great utility for anyone developing Dockerized applications. It\u2019s a tool that I personally use daily. Recently I came across yet\",\"breadcrumb\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/#primaryimage\",\"url\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg\",\"contentUrl\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.systemcodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Linux\",\"item\":\"https:\/\/www.systemcodegeeks.com\/category\/linux\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Adjusting Linux Kernel Parameters with Docker Compose\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#website\",\"url\":\"https:\/\/www.systemcodegeeks.com\/\",\"name\":\"System Code Geeks\",\"description\":\"Operating System Developers Resource Center\",\"publisher\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.systemcodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/www.systemcodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/systemcodegeeks\",\"https:\/\/x.com\/systemcodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/86302616000bcfa1e56e85bf9e0fb377\",\"name\":\"Ben Cane\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/58e760dbb7e91f10c242039f23e9c0f2d82f86e5d10798ad76f2a34820fa06d0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/58e760dbb7e91f10c242039f23e9c0f2d82f86e5d10798ad76f2a34820fa06d0?s=96&d=mm&r=g\",\"caption\":\"Ben Cane\"},\"description\":\"Benjamin Cane is a systems architect in the financial services industry. He writes about Linux systems administration on his blog and has recently published his first book, Red Hat Enterprise Linux Troubleshooting Guide.\",\"url\":\"https:\/\/www.systemcodegeeks.com\/author\/ben-cane\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Adjusting Linux Kernel Parameters with Docker Compose - System Code Geeks - 2026","description":"Docker Compose is a great utility for anyone developing Dockerized applications. It\u2019s a tool that I personally use daily. Recently I came across yet","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:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/","og_locale":"en_US","og_type":"article","og_title":"Adjusting Linux Kernel Parameters with Docker Compose - System Code Geeks - 2026","og_description":"Docker Compose is a great utility for anyone developing Dockerized applications. It\u2019s a tool that I personally use daily. Recently I came across yet","og_url":"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/","og_site_name":"System Code Geeks","article_publisher":"https:\/\/www.facebook.com\/systemcodegeeks","article_published_time":"2017-12-20T15:15:54+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg","type":"image\/jpeg"}],"author":"Ben Cane","twitter_card":"summary_large_image","twitter_creator":"@systemcodegeeks","twitter_site":"@systemcodegeeks","twitter_misc":{"Written by":"Ben Cane","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/#article","isPartOf":{"@id":"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/"},"author":{"name":"Ben Cane","@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/86302616000bcfa1e56e85bf9e0fb377"},"headline":"Adjusting Linux Kernel Parameters with Docker Compose","datePublished":"2017-12-20T15:15:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/"},"wordCount":931,"commentCount":1,"publisher":{"@id":"https:\/\/www.systemcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/#primaryimage"},"thumbnailUrl":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg","keywords":["Docker"],"articleSection":["Linux"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/","url":"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/","name":"Adjusting Linux Kernel Parameters with Docker Compose - System Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.systemcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/#primaryimage"},"image":{"@id":"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/#primaryimage"},"thumbnailUrl":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg","datePublished":"2017-12-20T15:15:54+00:00","description":"Docker Compose is a great utility for anyone developing Dockerized applications. It\u2019s a tool that I personally use daily. Recently I came across yet","breadcrumb":{"@id":"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/#primaryimage","url":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg","contentUrl":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.systemcodegeeks.com\/linux\/adjusting-linux-kernel-parameters-docker-compose\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.systemcodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Linux","item":"https:\/\/www.systemcodegeeks.com\/category\/linux\/"},{"@type":"ListItem","position":3,"name":"Adjusting Linux Kernel Parameters with Docker Compose"}]},{"@type":"WebSite","@id":"https:\/\/www.systemcodegeeks.com\/#website","url":"https:\/\/www.systemcodegeeks.com\/","name":"System Code Geeks","description":"Operating System Developers Resource Center","publisher":{"@id":"https:\/\/www.systemcodegeeks.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.systemcodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.systemcodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.systemcodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/systemcodegeeks","https:\/\/x.com\/systemcodegeeks"]},{"@type":"Person","@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/86302616000bcfa1e56e85bf9e0fb377","name":"Ben Cane","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/58e760dbb7e91f10c242039f23e9c0f2d82f86e5d10798ad76f2a34820fa06d0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/58e760dbb7e91f10c242039f23e9c0f2d82f86e5d10798ad76f2a34820fa06d0?s=96&d=mm&r=g","caption":"Ben Cane"},"description":"Benjamin Cane is a systems architect in the financial services industry. He writes about Linux systems administration on his blog and has recently published his first book, Red Hat Enterprise Linux Troubleshooting Guide.","url":"https:\/\/www.systemcodegeeks.com\/author\/ben-cane\/"}]}},"_links":{"self":[{"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/posts\/3353","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/users\/36"}],"replies":[{"embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/comments?post=3353"}],"version-history":[{"count":0,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/posts\/3353\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/media\/390"}],"wp:attachment":[{"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/media?parent=3353"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/categories?post=3353"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/tags?post=3353"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}