Docker
文章平均质量分 56
潘广宇
主攻Golang|Python|PHP|数据库|高并发架构|人工智能,Base广州,博客主要写一些工作上遇到的问题和处理经验
展开
-
Docker 网络和容器连接
一、外部访问容器-P Docker 会随机映射一个端口到内部容器开放的网络端口docker run -d -P nginx:alpine-p 则可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器,支持的格式有 ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort1、映射所有接口地址docker run -d -p 80:80 nginx:alpine2、映射到指定地址的指定端口原创 2022-02-10 19:51:56 · 1316 阅读 · 0 评论 -
DockerFile 多阶段构建减少镜像体积
多阶段构建,其实在一个 DockerFile 中使用多个 FROM 语句进行多阶段镜像的构建。多个 FROM 指令并不是为了生成多根的层关系,最后生成的镜像,仍以最后一条 FROM 为准,之前的 FROM 会被抛弃。每一条 FROM 指令都是一个构建阶段,多条 FROM 就是多阶段构建,虽然最后生成的镜像只能是最后一个阶段的结果,但是,能够将前置阶段中的文件拷贝到后边的阶段中,这就是多阶段构建的最大意义。最大的使用场景是将编译环境和运行环境分离举个栗子:构建一个Go语言程序,那么就需原创 2022-02-10 11:08:20 · 1351 阅读 · 0 评论 -
DockerFile 命令详解
Dockerfile 是包含一条条指令,每条指令构建一层的镜像制作文件。构建镜像docker build [选项] <上下文路径/URL/->docker build -t nginx:v3 . # . 表示Dockerfile在当前目录FROM 指定基础镜像通过FROM指定基础镜像,因此一个 Dockerfile 中 FROM 是必备的指令,并且必须是第一条指令。FROM scratch,这个镜像是虚拟的概念,并不实际存在,它表示一个空白的镜像...原创 2022-02-09 19:57:03 · 1059 阅读 · 0 评论 -
Docker 数据卷
在Docker中,容器的数据读写默认发生在容器的存储层,当容器被删除时其上的数据将会丢失。要想实现数据的持久化,需要将数据从宿主机挂载到容器中。目前Docker提供了三种方式将数据从宿主机挂载到容器中。Volume 普通数据卷,映射到 /var/lib/docker/volumes目录下。bind mounts 绑定数据卷,映射到宿主机指定路径下tmpfs mounts 临时卷,只存在于宿主机内存中一、普通数据卷基本使用# 创建一个数据卷,命名为 for_nginx docke原创 2022-02-08 17:35:41 · 86 阅读 · 0 评论 -
Docker 两个容器连接,以redis为例
实现:A容器连接到B容器的redis,并执行相关命令第一步:启动B容器的redis服务docker run -d --name redis_service redis第二步:建立容器连接,并查看连接到A容器的IP和端口docker run -t -i --link redis_service:db redis env第三步:A容器通过IP和端口连接B容器DB_PORT_6379_TCP_ADDR IP地址DB_PORT_6379_TCP_PORT 端口信息docker原创 2022-01-29 17:45:38 · 3456 阅读 · 0 评论 -
Docker 常用命令汇总
# docker版本docker version################################### 容器相关# 运行一个容器并执行命令,命令结束后容器停止docker run ubuntu:14.04 /bin/echo 'Hello world' # 创建交互式容器,-t 表示在新容器内指定一个伪终端或终端,-i表示允许我们对容器内的 (STDIN) 进行交互docker run -t -i ubuntu:14.04 /bin/bash# 容器命名,容器的名.原创 2022-01-29 17:03:22 · 1519 阅读 · 0 评论