常见命令
Docker最常见的命令就是操作镜像、容器的命令,详见官方文档:https://docs.docker.com/
数据卷
命令 | 说明 | 文档地址 |
---|---|---|
docker volume create | 创建数据卷 | docker volume create |
docker volume ls | 创建数据卷 | docker volume ls |
docker volume rm | 查看所有数据卷 | docker volume rm |
docker volume inspect | 查看某个数据卷的详情 | docker volume inspect |
docker volume prune | 清除数据卷 | docker volume prune |
- 在执行docker run命令时,使用 -v 本地目录:容器内目录 可以完成本地目录挂载。
- 本地目录必须以’/‘或’./'开头,如果直接以名称开头,会被识别为数据卷而非本地目录。
- -v mysql:/var/lib/mysql 会被识别为一个数据卷叫做mysql。
- -v ./mysql: /var/lib/mysql 会被识别为当前目录下的mysql目录。
自定义镜像
Dockerfile就是一个文本文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。将来Docker可以根据Dockerfile帮我们构建镜像。常见指令如下:
指令 | 说明 | 示例 |
---|---|---|
FROM | 指定基础镜像 | FROM centos:6 |
ENV | 设置环境变量,可在后面指令使用 | ENV key value |
COPY | 拷贝本地文件到镜像的指定目录 | COPY ./jre1l.tar.gz /tmp |
RUN | 执行Linux的shell命令,一般是安装过程的命令 | RUN tar -zxvf /tmp/ire1l.tar.gz&& EXPORTS path=/tmp/jre1l:$path |
EXPOSE | 指定容器运行时监听的端口,是给镜像使用者看的 | EXPOSE 8080 |
ENTRYPOINT | 镜像中应用的启动命令,容器运行时调用 | ENTRYPOINT java -jar xx.jar |
更加详细的语法说明,请参考官方文档:https://docs.docker.com/engine/reference/builder
docker build -t myImage:1.0 .
- -t 是给镜像起名,格式依然是repository:tag 的格式,不指定tag时,默认是latest
- .:是指定Dockerfile所在目录,如果就在当前目录,则指定为 “.”。
网络
默认情况下,所有容器都是以bridge当时连接到docker的一个虚拟网桥上。
加入自定义网络的容器才可以通过容器名互相访问,Docker的网络操作命令如下:
命令 | 说明 | 文档地址 |
---|---|---|
docker network create | 创建一个网络 | docker network create |
docker network ls | 查看所有网络 | docker network ls |
docker network rm | 删除指定网络 | docker network rm |
docker network prune | 清除未使用的网络 | docker network prune |
docker network connect | 使指定容器连接加入某网络 | docker network connect |
docker network disconnect | 使指定容器连接离开某网络 | docker network disconnect |
docker network inspect | 查看网络详细信息 | docker network inspect |