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"]
|