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
相关推荐
.柒宇.6 小时前
RedHat10-Ansible部署Docker操作
docker·eureka·ansible
木雷坞6 小时前
内网模型服务启动链路分层实践
docker·容器·gpu
江湖有缘7 小时前
保姆级教程:Docker 部署 Portracker 端口监控工具
jvm·docker·容器
jinanwuhuaguo9 小时前
(第三十六篇)OpenClaw 去中心化的秩序——从“中心调度”到“网格自治”的治理革命
java·大数据·开发语言·网络·docker·去中心化·github
摇滚侠20 小时前
Docker 如何查询挂载的目录
运维·docker·容器
江湖有缘1 天前
基于Ubuntu系统Docker部署Note Mark:从安装到配置全流程
linux·ubuntu·docker
呆萌的代Ma1 天前
docker内的n8n配置Code节点运行python代码
python·docker·容器
菜鸟分享录1 天前
OpenClaw Docker一键部署(轻松实现多容器隔离)
docker·ai·openclaw·小龙虾
codeejun1 天前
每日一Go-59、云原生入门为什么一定要学Docker?
docker·云原生·golang
赵鑫亿1 天前
ClawPanel — 开源 OpenClaw 智能管理面板,20+ 通道接入 / 多模型配置 / Docker 一键部署
docker·容器·开源