Docker
Docker
docker 常用命令
docker pull [image]
拉取镜像docker image ls
查看下载镜像docker image ls -a
显示包括中间层镜像在内的所有镜像docker system df
命令来便捷的查看镜像、容器、数据卷所占用的空间。docker image rm [image ID]|[image name]
删除镜像docker run -t -i [image]
启动容器 -d 后台运行docker container ls
查看容器信息docker inspect [container-name]
docker container logs [container ID or NAMES]
获取容器的输出信息docker container stop [CONTAINER ID]
终止容器docker container restart [CONTAINER ID]
重启容器docker export [CONTAINER ID] > [name].tar
导出容器docker import [url] 或 cat [name].tar | docker import - [path]/[name]:v1.0
导入容器docker container rm [name]
删除容器docker run -it --name=app -p 8080:8000 -v /code:/usr/src/app --link=redis:db django bash
--link=redis:db 表示把 redis 容器以 db 别名与该容器建立关系,在该容器内以 db 作为主机名表示了 redis 容器的主机地址。,v/code:/usr/src/app
表示把宿主机上的/code
目录挂载到容器内的/usr/src/app
目录,可以通过直接管理宿主机上的挂载目录来管理容器内部的挂载目录。docker volume create [name]
创建一个数据卷docker volume ls
查看所有的数据卷docker volume inspect [name]
查看指定 数据卷 的信息docker volume rm [name]
删除数据卷docker volume prune
清除无主的数据卷挂载一个主机目录作为数据卷
docker run -d \
--name web \
-p 80:80 \
# -v /src/webapp:/usr/share/nginx/html:ro \
--mount type=bind,source=/src/webapp,target=/usr/share/nginx/html,readonly \
nginx:alpine
加载主机的 /src/webapp 目录到容器的 /usr/share/nginx/html 目录,readonly 指定为 只读
docker run -d -p 127.0.0.1:80:80 [name]
映射本地 80 端口到容器 80 端口docker network create -d bridge [net名字]
创建一个新的 Docker 网络,-d 参数指定 Docker 网络类型,有 bridge 、overlaydocker run -it --rm --name busybox1 --network my-net busybox sh
运行一个容器并连接到新建的 my-net 网络docker run -it --rm --name busybox2 --network my-net busybox sh
运行一个容器并加入到 my-net 网络docker exec -i -t [image-name] bash
进入容器
docker-compose 模板
version: "3"
services:
web:
build:
context: .
dockerfile: Dockerfile
ports:
- "3000:3000"
depends_on:
- db
db:
image: postgres
Dockerfile 模板
FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD [ "npm", "start" ]
docker-compose up -d
构建和运行容器docker-compose build --no-cache web
清理缓存并重新构建 web 服务的镜像docker-compose down --rmi all
停止并移除所有容器,并删除相关的镜像