note 1: docker 利用 volume 进行 presist data。 eg :
compose.yaml:
volumes:
database: //# named db by self
list golbal volumes:
docker volume ls # the volumes on the disk
inpect someone volume:
docker volume inspect multi-container-app_database
# the name of volume (multi-container-app_database) constitude by the container name(multi-container-app) + the db name (database),and separatored by "_"
result : docker volume inspect multi-container-app_database
[
{
"CreatedAt": "2024-02-05T10:20:28Z",
"Driver": "local",
"Labels": {
"com.docker.compose.project": "multi-container-app",
"com.docker.compose.version": "2.24.3",
"com.docker.compose.volume": "database"
},
"Mountpoint": "/var/lib/docker/volumes/multi-container-app_database/_data",
"Name": "multi-container-app_database",
"Options": null,
"Scope": "local"
}
]
but you can‘t fint the folder ( docker/volumes/multi-container-app_database/_data ) on your host,
and this the explain by gpt :
note 2 :
view current containers process status
docker-compose ps
# warning : the code run must at the folder include a yaml/yml file
run a container :
docker-compose up -d
# -d mean detach 。that's meaning for the process run at backend and the command line can continue input
docker run -d -p 8080:80 --name my_container my_image
note 3 :
explaination $:docker build -t getting-started .
note 4:
current running list containers ( if include stop status containers)
docker ps 【-a】
note 5:
# syntax=docker/dockerfile:1
FROM node:18-alpine # Create a new build stage from a base image.
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]
EXPOSE 3000
note 6:
$ docker run -dp 127.0.0.1:3000:3000 getting-started