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
相关推荐
java_logo4 小时前
HashiCorp Vault 镜像拉取与 Docker 部署全指南
运维·docker·容器
人工智能训练8 小时前
如何在 Ubuntu 22.04 中安装 Docker 引擎和 Linux 版 Docker Desktop 桌面软件
linux·运维·服务器·数据库·ubuntu·docker·ai编程
996终结者9 小时前
Docker核心用途实战:彻底解决环境一致性问题
运维·docker·容器
阿桂有点桂9 小时前
Docker搭建Ngnix、php5.6、php8、postgresql、redis
运维·服务器·docker·容器
snakecy10 小时前
Docker打包步骤
运维·docker·容器
妮妮喔妮10 小时前
root@lll:/data# sudo docker compose up -d 输入这个命令 控制台一直没有任何的反应 我需要如何排查呢?
运维·docker·容器·wsl docker
java资料站10 小时前
Docker 部署onlyoffice
运维·docker·容器
Lisonseekpan12 小时前
为什么国内禁用docker呢?
运维·docker·容器
R-G-B14 小时前
【P1】win10安装 Docker教程
运维·docker·容器
Java小学生丶15 小时前
非常简单的基于 Docker 自建 RustDesk 远程桌面教程
docker·远程桌面·异地组网