Docker
| 
 
 sudo apt-get update
 sudo apt-get install \
 ca-certificates \
 curl \
 gnupg \
 lsb-release
 
 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
 
 echo \
 "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
 $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
 
 sudo apt-get update
 sudo apt-get install docker-ce docker-ce-cli containerd.io
 
 apt-cache madison docker-ce
 
 sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
 
 sudo docker run hello-world
 
 docker --version
 
 | 
| sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
 
 sudo chmod +x /usr/local/bin/docker-compose
 
 docker-compose --version
 
 | 
 运行容器
| docker run --name <容器名> -p 8000:3000 -d <your username>/node-web-app
 | 
| 参数 | 说明 | 
| -d | 守护容器,就是后台运行,退出命令窗口容器也不会停止 | 
| -it | 交互式容器 退出命令窗口容器就停止运行了。将容器的 shell 映射到当前的 shell,你在本级窗口输入的命令,会传入容器 | 
| -p | 宿主机端口和容器端口映射。如: -p 8000:3000将容器的 3000 端口映射到本机的 8000 端口 | 
| -e | env,环境变量。如: -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码 | 
| -v | 数据持久化映射。如: -v volume-data:/var/lib/postgresql/data | 
| –name | 容器名。如: --name hello | 
| – network | 容器网络。如: --networ=new-network | 
 容器常用操作
| docker start <container id>	docker exec -it <container id> bash
 docker kill <container id>
 docker stop <container id>
 docker rm <container id>
 docker restart <container id>
 docker logs <container id>
 docker ps
 docker ps -a
 docker system prune
 docker volume prune
 docker inspect <container id>
 
 | 
 镜像常用操作
| docker build . -t <image name>:<version>	docker images
 docker search <image name>
 docker pull <image name>
 docker rmi <image id | image name>
 
 | 
 Dockerfile
dockerfile 用来配置 docker 镜像,Docker 根据此文件生成 image 文件
| FROM node:14	MAINTAINER <author name>
 WORKDIR /example
 COPY . /example
 RUN pnpm install
 ENV VERSION 14.0
 ARG NAME=HI
 VOLUME /data
 USER jay
 EXPOSE 3000
 CMD ["pnpm", "start"]
 
 |