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