{"id":46813,"date":"2024-10-02T00:00:00","date_gmt":"2024-10-02T07:00:00","guid":{"rendered":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/blog\/griddb-on-arm-with-docker\/"},"modified":"2025-11-13T12:57:06","modified_gmt":"2025-11-13T20:57:06","slug":"griddb-on-arm-with-docker","status":"publish","type":"post","link":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/griddb-on-arm-with-docker\/","title":{"rendered":"GridDB on ARM with Docker"},"content":{"rendered":"<p>GridDB running via Docker containers isn&#8217;t a new topic. We have covered it before: <a href=\"https:\/\/griddb.net\/en\/blog\/run-a-griddb-server-in-docker-desktop\/\">https:\/\/griddb.net\/en\/blog\/run-a-griddb-server-in-docker-desktop\/<\/a> &amp; <a href=\"https:\/\/griddb.net\/en\/blog\/improve-your-devops-with-griddb-server-and-client-docker-containers\/\">https:\/\/griddb.net\/en\/blog\/improve-your-devops-with-griddb-server-and-client-docker-containers\/<\/a>.<\/p>\n<p>In this blog, we want to again touch on using GridDB on Docker, but will focus instead on using GridDB on ARM architecture, namely a Mac with Apple silicon (M1, M2, etc). So, in this blog, we will provide a docker image which works with ARM devices, as well as walk through how to spin up application containers to work in conjunction with your docker container service.<\/p>\n<h2>Running GridDB &amp; GridDB Applications with Docker<\/h2>\n<p>First, you can read the source code that accompanies this article here: <a href=\"https:\/\/github.com\/griddbnet\/griddb-docker-arm\">https:\/\/github.com\/griddbnet\/griddb-docker-arm<\/a>. It contains the docker image itself which you can build to run on your ARM machine.<\/p>\n<p>The image itself is also available for pulling from the GridDB.net <a href=\"https:\/\/hub.docker.com\/r\/griddbnet\/griddb\">Dockerhub<\/a> page. The full image\/tag name is: <code>griddbnet\/griddb:arm-5.5.0<\/code>. The nodejs application repo is also available: <code>griddbnet\/nodejs-arm:latest<\/code><\/p>\n<h3>Running GridDB Server<\/h3>\n<p>To pull and run this image:<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ docker network create griddb-net\n$ docker pull griddbnet\/griddb:arm-5.5.0\n$ docker run --name griddb-server \n    --network griddb-net \n    -e GRIDDB_CLUSTER_NAME=myCluster \n    -e GRIDDB_PASSWORD=admin \n    -e NOTIFICATION_MEMBER=1 \n    -d -t griddbnet\/griddb:arm-5.5.0<\/code><\/pre>\n<\/div>\n<p>These commands will create a network for your GridDB server and any containers you intend to run with it. It will also download the built image and then run the image on your machine. Once you confirm it&#8217;s running, you can try running application code, using your GridDB container as the data store.<\/p>\n<h3>Running Application Containers<\/h3>\n<p>First, let&#8217;s grab the source code and build our nodejs container to run some arbitrary code using GridDB as our connection.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ git clone https:\/\/github.com\/griddbnet\/Blogs.git --branch docker-arm<\/code><\/pre>\n<\/div>\n<p>Next, here are the commands to run some node.js GridDB code against your containerized server.<\/p>\n<p>First, let&#8217;s run the sample code that accompanies the official node.js GridDB repo<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ cd Blogs\/nodejs\/node-api\n$ docker build -t griddb_node_app .\n$ docker run --name griddb-node --network griddb-net -e GRIDDB_CLUSTER_NAME=myCluster -e GRIDDB_USERNAME=admin -e GRIDDB_PASSWORD=admin -e IP_NOTIFICATION_MEMBER=griddb-server griddb_node_app<\/code><\/pre>\n<\/div>\n<p>First, we need to grab the source code which contains some modified files when compared to the official source code (changes to allow the C_Client to run on macos\/ARM, which is required for non java programming language connectors). Then we build the image and run it, setting some options such as cluster name, user\/pass combo, and finally the IP_NOTIFICATION_MEMBER which explictly tells the container the ip address of the GridDB server container.<\/p>\n<p>Of course here, when running this, you are simply running the sample code provided, not your own. But it also lays out the framework for running your own GridDB nodejs code. The flow is as follows: you write your code, build the docker image, and then run it with explict case of choosing the docker network and pointing to the correct hostname\/ip address.<\/p>\n<p>To go along with the nodejs application interface, JDBC and Java have also been tested and confirmed to work with an ARM based Mac using an M-series chip.<\/p>\n<h3>Examples of Creating Application Container<\/h3>\n<p>To build and run your own application in docker, the process is simple: you write the application in your language of choice, write the Dockerfile for that application, and then finally build &amp; run the container, ensuring the use the same network as used when running the GridDB container.<\/p>\n<h4>Node.js<\/h4>\n<p>For example, let&#8217;s say you wrote a quick node.js script to generate some &#8216;fake&#8217; data.<\/p>\n<p>To keep the application connection agnostic, you can keep the connection details as command line arguments, meaning when you run your docker container, you can simply enter in the docker container you wish to connect to similar to how it was done above. If you enter in the environment details when running the docker container. These details will then be picked up by our entry point script.<\/p>\n<p>Here is the Dockerfile for installing the GridDB Node.js connector, along with the c_client connector on an ARM machine. Most of the file is installing everything necessary, including installing the included c_client rpm file. In this instance, we are simply copying over the one file we want to run (<code>gen-data.js<\/code>) along with the entrypoint script.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">FROM rockylinux:9.3\n\nENV GRIDDB_NODE_API_VERSION=0.8.5\nENV NODE_PATH=\/root\/node-api-${GRIDDB_NODE_API_VERSION}\n\n# Install griddb server\nRUN set -eux \n    && dnf update -y \n    # Install nodejs version 16.x and c client for griddb nodejs_client\n    && dnf install -y curl make python3 tar --allowerasing \n    && dnf groupinstall -y 'Development Tools'\n\nRUN curl -o- https:\/\/raw.githubusercontent.com\/nvm-sh\/nvm\/v0.40.1\/install.sh | bash\n\nRUN source ~\/.nvm\/nvm.sh && nvm install 20 && nvm use 20\n\n\nCOPY .\/lib\/griddb-c-client-5.5.0-linux.aarch64.rpm \/\nRUN rpm -Uvh \/griddb-c-client-5.5.0-linux.aarch64.rpm\n\nSHELL [\"\/bin\/bash\", \"--login\", \"-c\"]\n# Copy entrypoint script and sample for fixlist\nRUN mkdir \/app\nCOPY run-griddb.sh gen-data.js \/app\/\n\nWORKDIR \/root\n\n# Install nodejs client\nRUN curl -L https:\/\/github.com\/griddb\/node-api\/archive\/refs\/tags\/${GRIDDB_NODE_API_VERSION}.tar.gz -o ${GRIDDB_NODE_API_VERSION}.tar.gz -sS \n    && tar -xzvf ${GRIDDB_NODE_API_VERSION}.tar.gz \n    && cd node-api-${GRIDDB_NODE_API_VERSION} \n\nWORKDIR \/root\/node-api-${GRIDDB_NODE_API_VERSION}\nRUN  npm install \nRUN rm ..\/${GRIDDB_NODE_API_VERSION}.tar.gz\n\nWORKDIR \/app\n# Set permission executable for script\nRUN chmod a+x run-griddb.sh\n\n# Run sample\nCMD [\"\/bin\/bash\", \"run-griddb.sh\"]<\/code><\/pre>\n<\/div>\n<p>And here is the simple <code>run-griddb.sh<\/code> script. All it does is basically run the node command with the proper arg details to connect to our GridDB docker container.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">#!\/bin\/bash\n\nif [ -z \"$GRIDDB_CLUSTER_NAME\" ]; then\n    GRIDDB_CLUSTER_NAME='dockerGridDB'\nfi\n\nif [ -z \"$NOTIFICATION_ADDRESS\" ]; then\n    NOTIFICATION_ADDRESS=239.0.0.1\nfi\n\nif [ -z \"$NOTIFICATION_PORT\" ]; then\n    NOTIFICATION_PORT=31999\nfi\n\nif [ -z \"$GRIDDB_USERNAME\" ]; then\n    GRIDDB_USERNAME='admin'\nfi\n\nif [ -z \"$GRIDDB_PASSWORD\" ]; then\n    GRIDDB_PASSWORD='admin'\nfi\n\nif [ -z \"$IP_NOTIFICATION_MEMBER\" ]; then\n    echo \"Run GridDB node_api client with GridDB server mode MULTICAST : $NOTIFICATION_ADDRESS $NOTIFICATION_PORT $GRIDDB_CLUSTER_NAME $GRIDDB_USERNAME $GRIDDB_PASSWORD\"\n    source ~\/.nvm\/nvm.sh && nvm use 20\n    node sample1.js $NOTIFICATION_ADDRESS $NOTIFICATION_PORT $GRIDDB_CLUSTER_NAME $GRIDDB_USERNAME $GRIDDB_PASSWORD\nelse\n    echo \"Run GridDB node_api client with GridDB server mode FixedList : $IP_NOTIFICATION_MEMBER:10001 $GRIDDB_CLUSTER_NAME $GRIDDB_USERNAME $GRIDDB_PASSWORD\"\n    source ~\/.nvm\/nvm.sh && nvm use 20.\n    node gen-data.js $IP_NOTIFICATION_MEMBER:10001 $GRIDDB_CLUSTER_NAME $GRIDDB_USERNAME $GRIDDB_PASSWORD\nfi<\/code><\/pre>\n<\/div>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ docker build -t nodejs-gen-griddb .<\/code><\/pre>\n<\/div>\n<p>We are building our current Dockerfile with the tag of <code>nodejs-gen-griddb<\/code>. Then we run it, specifying the connection details:<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">$ docker run  --network griddb-net -e GRIDDB_CLUSTER_NAME=myCluster -e GRIDDB_USERNAME=admin -e GRIDDB_PASSWORD=admin -e IP_NOTIFICATION_MEMBER=griddb-server nodejs-gen-griddb <\/code><\/pre>\n<\/div>\n<h4>JDBC<\/h4>\n<p>Here is another example, connecting to our GridDB server using Java and JDBC so that we can run SQL commands.<\/p>\n<p>First, we create our java program. In this case, we simply want to make a connection and then create a new table.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">    String notificationMember = args[0];\n    String clusterName = args[1];\n    String databaseName = args[2];\n    \/\/ String notificationMember = \"griddb-server:20001\";\n    \/\/ String clusterName = \"myCluster\";\n    \/\/ String databaseName = \"public\";\n    String username = \"admin\";\n    String password = \"admin\";\n    String encodeClusterName = URLEncoder.encode(clusterName, \"UTF-8\");\n    String encodeDatabaseName = URLEncoder.encode(databaseName, \"UTF-8\");\n    String jdbcUrl = \"jdbc:gs:\/\/\" + notificationMember + \"\/\" + encodeClusterName + \"\/\" + encodeDatabaseName;\n    System.out.println(jdbcUrl);\n\n    Properties prop = new Properties();\n    prop.setProperty(\"user\", username);\n    prop.setProperty(\"password\", password);\n\n    con = DriverManager.getConnection(jdbcUrl, prop);\n\n    System.out.println(\"Connected to cluster via SQL Interface\");\n\n    String SQL = \"CREATE TABLE IF NOT EXISTS devices (ts TIMESTAMP PRIMARY KEY, co DOUBLE, humidity DOUBLE,light BOOL,lpg DOUBLE,motion BOOL,smoke DOUBLE,temp DOUBLE) USING TIMESERIES WITH (expiration_type='PARTITION',expiration_time=90,expiration_time_unit='DAY') PARTITION BY RANGE (ts) EVERY (60, DAY)SUBPARTITION BY HASH (ts) SUBPARTITIONS 64;\";\n\n    Statement stmt = con.createStatement();\n    stmt.executeUpdate(SQL);\n    System.out.println(\"Successfully created container called: devices\");<\/code><\/pre>\n<\/div>\n<p>And now we create the dockerfile to build this java program to be run against the GridDB server.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">FROM alpine:3.14\n\nWORKDIR \/app\nRUN apk add --no-cache wget\nRUN apk add openjdk11\n\nRUN wget https:\/\/repo1.maven.org\/maven2\/com\/github\/griddb\/gridstore-jdbc\/5.6.0\/gridstore-jdbc-5.6.0.jar\nENV CLASSPATH \/app\/gridstore-jdbc-5.6.0.jar\n\nCOPY .\/src .\/src\nWORKDIR \/app\/src\/main\/java\/\nRUN javac net\/griddb\/jdbc\/Jdbc.java\n\nCMD [\"java\",  \"net\/griddb\/jdbc\/Jdbc.java\", \"griddb-server:20001\", \"myCluster\", \"public\"]<\/code><\/pre>\n<\/div>\n<p>For this build process, we install java and wget, download the latest griddb jdbc driver, add it to our class path environment, and then simply compile and run our java code. If all goes well, you should be able to run the docker image and set the network to be equal to where your GridDB server is connected and have it work that way.<\/p>\n<p>In this case, we left the command line arguments within the Dockerfile itself, meaning you can simply change how the code is executed to keep it flexible.<\/p>\n<h2>Conclusion<\/h2>\n<p>And now you should be able to run both nodejs and JDBC containers on your ARM devices. If you get other programming languages running ony our machines, please let us know in the GridDB forum: <a href=\"https:\/\/forum.griddb.net\">https:\/\/forum.griddb.net<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GridDB running via Docker containers isn&#8217;t a new topic. We have covered it before: https:\/\/griddb.net\/en\/blog\/run-a-griddb-server-in-docker-desktop\/ &amp; https:\/\/griddb.net\/en\/blog\/improve-your-devops-with-griddb-server-and-client-docker-containers\/. In this blog, we want to again touch on using GridDB on Docker, but will focus instead on using GridDB on ARM architecture, namely a Mac with Apple silicon (M1, M2, etc). So, in this blog, we will [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":30266,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[121],"tags":[],"class_list":["post-46813","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>GridDB on ARM with Docker | GridDB: Open Source Time Series Database for IoT<\/title>\n<meta name=\"description\" content=\"GridDB running via Docker containers isn&#039;t a new topic. We have covered it before: https:\/\/griddb.net\/en\/blog\/run-a-griddb-server-in-docker-desktop\/ &amp;\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GridDB on ARM with Docker | GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"og:description\" content=\"GridDB running via Docker containers isn&#039;t a new topic. We have covered it before: https:\/\/griddb.net\/en\/blog\/run-a-griddb-server-in-docker-desktop\/ &amp;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/\" \/>\n<meta property=\"og:site_name\" content=\"GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/griddbcommunity\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-10-02T07:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-13T20:57:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/wp-content\/uploads\/2024\/10\/Gemini_Generated_Image_d74s14d74s14d74s.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"1536\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Israel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:site\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Israel\" \/>\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:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/\"},\"author\":{\"name\":\"Israel\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/c8a430e7156a9e10af73b1fbb46c2740\"},\"headline\":\"GridDB on ARM with Docker\",\"datePublished\":\"2024-10-02T07:00:00+00:00\",\"dateModified\":\"2025-11-13T20:57:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/\"},\"wordCount\":889,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/griddb.net\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2024\/10\/Gemini_Generated_Image_d74s14d74s14d74s.jpg\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/\",\"url\":\"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/\",\"name\":\"GridDB on ARM with Docker | GridDB: Open Source Time Series Database for IoT\",\"isPartOf\":{\"@id\":\"https:\/\/griddb.net\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2024\/10\/Gemini_Generated_Image_d74s14d74s14d74s.jpg\",\"datePublished\":\"2024-10-02T07:00:00+00:00\",\"dateModified\":\"2025-11-13T20:57:06+00:00\",\"description\":\"GridDB running via Docker containers isn't a new topic. We have covered it before: https:\/\/griddb.net\/en\/blog\/run-a-griddb-server-in-docker-desktop\/ &amp;\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/#primaryimage\",\"url\":\"\/wp-content\/uploads\/2024\/10\/Gemini_Generated_Image_d74s14d74s14d74s.jpg\",\"contentUrl\":\"\/wp-content\/uploads\/2024\/10\/Gemini_Generated_Image_d74s14d74s14d74s.jpg\",\"width\":1536,\"height\":1536},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/griddb.net\/en\/#website\",\"url\":\"https:\/\/griddb.net\/en\/\",\"name\":\"GridDB: Open Source Time Series Database for IoT\",\"description\":\"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL\",\"publisher\":{\"@id\":\"https:\/\/griddb.net\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/griddb.net\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/griddb.net\/en\/#organization\",\"name\":\"Fixstars\",\"url\":\"https:\/\/griddb.net\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"contentUrl\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"width\":200,\"height\":83,\"caption\":\"Fixstars\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/griddbcommunity\/\",\"https:\/\/x.com\/GridDBCommunity\",\"https:\/\/www.linkedin.com\/company\/griddb-by-toshiba\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/c8a430e7156a9e10af73b1fbb46c2740\",\"name\":\"Israel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4df8cfc155402a2928d11f80b0220037b8bd26c4f1b19c4598d826e0306e6307?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4df8cfc155402a2928d11f80b0220037b8bd26c4f1b19c4598d826e0306e6307?s=96&d=mm&r=g\",\"caption\":\"Israel\"},\"url\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/author\/israel\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GridDB on ARM with Docker | GridDB: Open Source Time Series Database for IoT","description":"GridDB running via Docker containers isn't a new topic. We have covered it before: https:\/\/griddb.net\/en\/blog\/run-a-griddb-server-in-docker-desktop\/ &amp;","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:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/","og_locale":"en_US","og_type":"article","og_title":"GridDB on ARM with Docker | GridDB: Open Source Time Series Database for IoT","og_description":"GridDB running via Docker containers isn't a new topic. We have covered it before: https:\/\/griddb.net\/en\/blog\/run-a-griddb-server-in-docker-desktop\/ &amp;","og_url":"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/","og_site_name":"GridDB: Open Source Time Series Database for IoT","article_publisher":"https:\/\/www.facebook.com\/griddbcommunity\/","article_published_time":"2024-10-02T07:00:00+00:00","article_modified_time":"2025-11-13T20:57:06+00:00","og_image":[{"width":1536,"height":1536,"url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/wp-content\/uploads\/2024\/10\/Gemini_Generated_Image_d74s14d74s14d74s.jpg","type":"image\/jpeg"}],"author":"Israel","twitter_card":"summary_large_image","twitter_creator":"@GridDBCommunity","twitter_site":"@GridDBCommunity","twitter_misc":{"Written by":"Israel","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/#article","isPartOf":{"@id":"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/"},"author":{"name":"Israel","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/c8a430e7156a9e10af73b1fbb46c2740"},"headline":"GridDB on ARM with Docker","datePublished":"2024-10-02T07:00:00+00:00","dateModified":"2025-11-13T20:57:06+00:00","mainEntityOfPage":{"@id":"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/"},"wordCount":889,"commentCount":0,"publisher":{"@id":"https:\/\/griddb.net\/en\/#organization"},"image":{"@id":"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2024\/10\/Gemini_Generated_Image_d74s14d74s14d74s.jpg","articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/","url":"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/","name":"GridDB on ARM with Docker | GridDB: Open Source Time Series Database for IoT","isPartOf":{"@id":"https:\/\/griddb.net\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/#primaryimage"},"image":{"@id":"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2024\/10\/Gemini_Generated_Image_d74s14d74s14d74s.jpg","datePublished":"2024-10-02T07:00:00+00:00","dateModified":"2025-11-13T20:57:06+00:00","description":"GridDB running via Docker containers isn't a new topic. We have covered it before: https:\/\/griddb.net\/en\/blog\/run-a-griddb-server-in-docker-desktop\/ &amp;","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb.net\/en\/blog\/griddb-on-arm-with-docker\/#primaryimage","url":"\/wp-content\/uploads\/2024\/10\/Gemini_Generated_Image_d74s14d74s14d74s.jpg","contentUrl":"\/wp-content\/uploads\/2024\/10\/Gemini_Generated_Image_d74s14d74s14d74s.jpg","width":1536,"height":1536},{"@type":"WebSite","@id":"https:\/\/griddb.net\/en\/#website","url":"https:\/\/griddb.net\/en\/","name":"GridDB: Open Source Time Series Database for IoT","description":"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL","publisher":{"@id":"https:\/\/griddb.net\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/griddb.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/griddb.net\/en\/#organization","name":"Fixstars","url":"https:\/\/griddb.net\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/","url":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","contentUrl":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","width":200,"height":83,"caption":"Fixstars"},"image":{"@id":"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/griddbcommunity\/","https:\/\/x.com\/GridDBCommunity","https:\/\/www.linkedin.com\/company\/griddb-by-toshiba"]},{"@type":"Person","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/c8a430e7156a9e10af73b1fbb46c2740","name":"Israel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4df8cfc155402a2928d11f80b0220037b8bd26c4f1b19c4598d826e0306e6307?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4df8cfc155402a2928d11f80b0220037b8bd26c4f1b19c4598d826e0306e6307?s=96&d=mm&r=g","caption":"Israel"},"url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/author\/israel\/"}]}},"_links":{"self":[{"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/posts\/46813","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/comments?post=46813"}],"version-history":[{"count":1,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/posts\/46813\/revisions"}],"predecessor-version":[{"id":51473,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/posts\/46813\/revisions\/51473"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/media\/30266"}],"wp:attachment":[{"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/media?parent=46813"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/categories?post=46813"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/tags?post=46813"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}