// Metadata created by nebel
// ParentAssemblies: assemblies/getting-started/as_installing-the-registry.adoc

[id="installing-registry-in-memory-storage_{context}"]
= Installing {registry} with in-memory storage

[role="_abstract"]
This section explains how to install and run {registry} with simple in-memory storage from a container image.

NOTE: The in-memory storage option is suitable for development only. All data is lost when the container image is restarted.

.Prerequisites

* You must have Docker installed and the Docker daemon running.
* Ensure that you can connect to the container repository: https://hub.docker.com/r/apicurio/apicurio-registry.

.Procedure

. Get the {registry} container image:
+
[source,bash]
----
$ docker pull apicurio/apicurio-registry:VERSION
----
+ 
`VERSION` is the {registry} release version, for example, `{registry-docker-version}`. For more details, see https://hub.docker.com/r/apicurio/apicurio-registry/tags.

. Run the container image: 
+
[source,bash]
----
$ docker run -it -p 8080:8080 apicurio/apicurio-registry:VERSION
----

NOTE: All storage variants of {registry} 3.x now share the same container image of `apicurio/apicurio-registry`.  This is in contrast to the separate container images used by {registry} 2.x.  Choosing a storage variant is now a matter of configuring the single backend/server container image.

. Send a test request using the {registry} REST API. For example, enter the following `curl` command to create a simple Avro schema artifact for a share price application in the registry:
+
[source,bash]
----
$ curl -X POST -H "Content-type: application/json; artifactType=AVRO" -H "X-Registry-ArtifactId: share-price" --data '{"type":"record","name":"price","namespace":"com.example","fields":[{"name":"symbol","type":"string"},{"name":"price","type":"string"}]}' http://localhost:8080/apis/registry/v3/groups/my-group/artifacts
----

. Verify that the response includes the expected JSON body to confirm that the Avro schema artifact was created in the registry. For example:
+
[source,bash]
----
{"name":"price","createdBy":"","createdOn":"2021-03-19T17:48:17+0000","modifiedOn":"2021-03-19T17:48:17+0000","id":"share-price","version":1,"type":"AVRO","globalId":12,"state":"ENABLED","groupId":"my-group","contentId":12}
----

[role="_additional-resources"]
.Additional resources
* For more REST API sample requests, see the link:{attachmentsdir}/registry-rest-api.htm[Apicurio Registry REST API documentation].
* For demonstration examples, see link:https://github.com/Apicurio/apicurio-registry/tree/main/examples[].
