docker 基础(二)

常见命令

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
相关推荐
i***51261 小时前
springboot整合libreoffice(两种方式,使用本地和远程的libreoffice);docker中同时部署应用和libreoffice
spring boot·后端·docker
Brown.alexis2 小时前
docker安装redis7
运维·docker·容器
Java陈序员3 小时前
精致简约!一款优雅的开源云盘系统!
mysql·docker·开源·go·云盘
青靴3 小时前
从单机到集群:Docker 数据卷在高可用日志平台中的实战指南
运维·docker·容器
l***37094 小时前
Docker部署Spring Boot + Vue项目
vue.js·spring boot·docker
玖疯子5 小时前
Docker 极简入门实战大纲
docker
百***35486 小时前
后端在微服务中的Docker
java·docker·微服务
来旺8 小时前
互联网大厂Java面试实战:核心技术栈与业务场景深度解析
java·spring boot·docker·kubernetes·mybatis·hibernate·microservices
h***34639 小时前
docker desktop安装redis
redis·docker·容器
z***39629 小时前
docker网络模式及配置
网络·docker·php