常见命令
-
创建运行容器
docker run [options] IMAGE [command]-
command
-
-d
:后台运行 -
--name [name]
:容器名称 -
-p [host port]:[container port]
:映射端口 -
-v [/host/data]:[/container/data]
:绑定挂载一个数据卷,如果数据卷不存在会自动创建 -
-e [KEY]=[VALUE]
:环境变量 -
--network [my-network]
:指定连接到一个网络 -
[image]:[tag]
:未指定版本时,默认是 latest,代表最新版本
-
-
-
拉取镜像
未指定版本时,默认是 latest,代表最新版本
docker pull [image]:[tag] -
查看指定镜像
不写镜像名查看所有镜像
docker images [image] -
删除指定镜像
docker rmi [image] -
保存镜像
docker [options] sava [image:tag]-
options
-
-o [name]
:文件保存文件名
-
-
-
加载镜像
docker load [OPTIONS]-
options
-
-i [name]
:镜像文件名 -
-q
:不输入提示内容
-
-
-
列出运行的容器
docker ps [options]-
options
-
-a
:列出包括未运行的容器 -
-q
:仅显示容器 ID
-
-
-
停止容器
docker stop [container] -
启动容器
docker start [container] -
删除容器
docker rm [container]-
-f
:强制删除
-
-
查看容器详情
docker inspect [container] -
查看容器日志
docker logs [options] [container]-
-f
:跟随日志输出(实时显示日志)
-
-
在运行的容器中执行命令
docker exec [OPTIONS] [container] [COMMAND] [bash]-
-i
:保持标准输入打开,即使没有连接。 -
-t
:分配一个伪终端 -
-u
:以指定用户的身份运行命令 -
-d
:在后台运行 -
-e
:设置环境变量
-
数据卷
-
创建数据卷
docker volume create -
查看所有数据卷
docker volume ls -
删除指定数据卷
docker volume rm [volume] -
查看某个数据卷的详细
docker volume inspect -
清除数据卷
docker volume prune
Dockerfile
包含构建镜像需要执行的指令
-
指定基础镜像
FROM [image:tag] -
环境变量
ENV [key] [value] -
将本地文件拷贝到容器的指定目录
COPY [/host/file] [/container/file] -
执行容器中的 shell 命令
一般执行安装过程
RUN [command] -
容器暴露的端口给连接的其他服务,但不会映射到宿主机
EXPOSE [port] -
镜像中应用的启动命令
ENTRYPOINT [command]
网络
-
创建
docker network create [NETWORK] -
查看
docker network ls -
删除指定网络
docker network rm [NETWORK] -
清楚未使用网络
docker network prune -
使指定容器加入指定网络
docker network connect [NETWORK] [CONTAINER] -
使指定容器离开指定网络
docker network disconnect [NETWORK] [CONTAINER] -
查看网络详细信息
docker network inspect [NETWORK]
Docker compose
常见关键字
-
指定 Docker Compose 文件的版本号
version: "3.8" -
定义各个服务,每个服务可以有多个配置项。
services:[server1]:...[server2]:... -
定义 Docker 网络,用于连接各个服务
networks:- [NETWORK]: -
定义 Docker 卷,用于持久化数据或者与宿主机共享数据。
volumes:- [/host/data]:[/container/data] -
指定使用的镜像名称。
[image]:[tag] -
指定构建 Docker 镜像时的 Dockerfile 路径。
build: [path] -
将容器内部端口映射到宿主机,使外部可以访问容器服务。
ports:- "[host port]:[container port]" -
定义环境变量
environment:- [KEY]=[VALUE] -
指定容器启动时执行的命令
command:- "[command]" -
指定服务启动所依赖的其他服务,会等待依赖的服务启动完成后再启动
depends_on:- service -
定义容器退出时的重启策略
restart [strategy]
no
:不重启
always
:总是重启 -
指定给容器的名称。它是一个唯一标识符
container_name: [my_container] -
容器暴露的端口给连接的其他服务,但不会映射到宿主机
expose:- "[port]"
常用命令
-
启动容器应用
Terminal window docker-compose up-
-d
:在后台启动服务。 -
--build
:构建服务,即使镜像已存在。
-
-
停止容器应用:
docker-compose down
-v
:同时移除卷
--rmi
:同时删除镜像