首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏finleyMa

    docker学习系列11 多阶段镜像构建

    本篇文章是转载,原文 从Docker版本 17.05.0-ce 开始,就支持了一种新的构建镜像的方法,叫做:多阶段构建(Multi-stage builds),旨在解决Docker构建应用容器中的一些痛点 其实,这些痛点,Docker也想到了,官方提供了简便的多阶段构建 (multi-stage build) 方案。 甚至,我们还可以使用更多的构建阶段来构建不同的应用,最终将这些构建产出的应用,合并到一个最终需要发布的镜像中。 参考: https://docs.docker.com/develop/develop-images/multistage-build/ https://yq.aliyun.com/articles/ 181178 https://laravel-news.com/multi-stage-docker-builds-for-laravel

    1.1K20发布于 2018-09-10
  • 来自专栏首富手记

    Docker构建

    Docker构建之旅 ##构建三个docker,php、nginx、mysql三个镜像 ###1,先从docker仓库里面拉取centos镜像,和mysql镜像 docker pull docker.io 构建nginx的镜像 [root@Docker docker_file]# docker build -f Dockerfile_nginx -t nginx/php:1.5 . 构建php代码 [root@Docker docker_file]# docker build -f php_file -t php:8.8 . 运行docker镜像,测试结果 构建一个nginx的容器container [root@Docker docker_file]# docker run -d --network testnetwork Docker docker_file]# docker exec -it nginx chown -R www.www /code 构建一个PHP的容器container [root@Docker docker_file

    90130发布于 2019-03-14
  • 来自专栏Lemon黄

    11 Docker 基础

    本文开始,我们将要学习了解的是 Docker,这也是使用 DevOps 必备的工具。Docker 通过提供轻量级、可移植的容器化平台,彻底改变了我们构建、发布和运行应用程序的方式。 持续集成和交付(CI/CD):Docker 在实施 CI/CD 管道方面发挥着至关重要的作用。使用 Docker,就可以构建封装应用程序及其依赖项的容器镜像。 Docker 基础命令 1 docker run docker run命令用于启动一个新容器并通过命令行与之交互。 The Docker client contacted the Docker daemon. 2. 该命令允许我们从 tar 压缩文件中导入 Docker 镜像。 运行 docker load -i image.tar 将镜像加载到 Docker 环境中。

    30200编辑于 2023-12-05
  • 来自专栏Lemon黄

    11 Docker 基础

    本文开始,我们将要学习了解的是 Docker,这也是使用 DevOps 必备的工具。Docker 通过提供轻量级、可移植的容器化平台,彻底改变了我们构建、发布和运行应用程序的方式。 持续集成和交付(CI/CD):Docker 在实施 CI/CD 管道方面发挥着至关重要的作用。使用 Docker,就可以构建封装应用程序及其依赖项的容器镜像。 Docker 基础命令 1 docker run docker run命令用于启动一个新容器并通过命令行与之交互。 The Docker client contacted the Docker daemon. 2. 该命令允许我们从 tar 压缩文件中导入 Docker 镜像。 运行 docker load -i image.tar 将镜像加载到 Docker 环境中。

    23010编辑于 2023-12-05
  • 来自专栏自动化、性能测试

    Docker11)- docker ps 命令详解

    作用 列出容器 语法格式 docker ps [OPTIONS] options 说明 option 作用 -a, --all 显示全部容器(默认只显示运行中的容器) -f, --filter filter 显示最近创建的容器(包括所有状态的容器) -s, --size 显示总的文件大小 --no-trunc 显示完整的镜像 ID -q, --quiet 静默模式,只显示容器 ID 实际栗子 # 不带options docker ps # 显示全部容器,和总文件大小 docker ps -a -s # 显示最近创建的容器 docker ps -l docker ps -a -l # 显示最近创建的 2 个容器 docker ps -n 2 # 显示完整的镜像ID docker ps --no-trunc # 只显示镜像ID docker ps -q ?

    3.3K10发布于 2020-11-11
  • 来自专栏程序员果果

    Docker 构建镜像

    文章首发于微信公众号《程序员果果》 地址:https://mp.weixin.qq.com/s/foVeANf0imgU4hfOempp3A 构建Docker镜像有以下两种方法: 使用docker commit 如果不想使用这些缓存镜像,可以在构建时指定--no-cache参数,如:docker build --no-cache 4. 卷会一直存在,直到没有任何容器在使用它 11. WORKDIR 从镜像创建一个新容器时,在容器中设置工作目录(类似于cd命令)。 在使用docker run运行容器时,可以通过-w参数覆盖构建时所设置的工作目录。 12. USER 镜像由什么用户执行,如果不指定默认以root用户执行。 镜像构建完成后,通过docker run运行容器时,可以通过-u参数来覆盖所指定的用户。 13. ARG 用于指定传递给构建运行时的变量。

    1.8K61发布于 2019-05-28
  • 来自专栏Pythonista

    docker构建镜像

    使用 Docker 镜像 在之前的介绍中,我们知道镜像是 Docker 的三大组件之一。 Docker 运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker 会从镜像仓库下载该镜像。 获取镜像 Docker Hub 上有大量的高质量的镜像可以用,这里我们就说一下怎么获取这些镜像。 从 Docker 镜像仓库获取镜像的命令是 docker pull。 其命令格式为: docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签] 具体的选项可以通过 docker pull --help 命令看到,这里我们说一下镜像名称的格式 Docker 镜像仓库地址:地址的格式一般是 <域名/IP>[:端口号]。默认地址是 Docker Hub。 仓库名:如之前所说,这里的仓库名是两段式名称,即 <用户名>/<软件名>。 镜像仓库地址,因此将会从 Docker Hub 获取镜像。

    1.3K30发布于 2018-10-09
  • 来自专栏TKE学习

    构建 docker 镜像

    Docker 生成镜像目前有两种方式: 通过 Dockerfile 自动构建镜像; 通过容器操作,并执行 Commit 打包生成镜像。 执行 Commit 实现打包生成镜像 通过 Dockerfile 可以快速构建镜像,而通过 commit 生成镜像可以解决应用在部署过程中有大量交互内容以及难以通过 Dockerfile 构建的问题。 通过 commit 构建镜像操作如下: 1,安装docker软件(yum install docker或apt-get install docker) image.png 2,下载docker centos 基础镜像(docker commit) [root@VM_0_11_centos ~]# docker ps | grep db70b62cb071 db70b62cb071 centos _centos ~]# docker tag 302f3cc905eb ccr.ccs.tencentyun.com/ns-demo/nginx:v2 [root@VM_0_11_centos ~]#

    1.4K00发布于 2020-05-29
  • 来自专栏技术杂记

    Docker Registry11

    其它报错 类似于下面两种 [root@h104 ~]# docker push docker:5000/ubuntu The push refers to a repository [docker:5000 [root@h104 ~]# [root@h104 ~]# docker push docker:5000/ubuntu The push refers to a repository [docker docker.service | head -n 10 docker.service ● ├─docker.socket ● ├─system.slice ● └─basic.target ● ├ ~]# [root@docker ~]# iptables -L -nv | grep -i docker 288 46767 DOCKER all -- * docker0 docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:5000 [root@docker ~]#

    29410编辑于 2022-01-21
  • 来自专栏Jacob

    Docker 使用Dockerfile构建Docker(三)

    在 Dockerfile 所在路径执行一下命令构建镜像: docker build -t nginx:my . 其中,命令最后的点(.)用于路径参数传递,表示当前路径。 除了使用Dockerfile构建镜像,也可手工制作 Docker镜像,但这种方式烦琐效率低,一般不适合生产。 Dockerfile 常用指令 在前面的例子中,提到了FORM、RUN指令。 使用 Dockerfile 构建 Docker 镜像 准备工作 准备一个Jar包,本次使用的Jar包是springboot整合swagger。 使用Dockerfile 构建 Docker 镜像 创建 Dockerfile 文件,并添加一下内容 #指定镜像 FROM java:8 #将本地文件夹挂载到当前容器 VOLUME /tmp #复制文件到容器 build 命令构建镜像 docker build -t itouch/wzq-swagger-mng . 4.

    1.2K10发布于 2020-08-05
  • 来自专栏IT架构圈

    「走进k8s」Docker 的多阶段构建-JavaSpringboot演示(11

    上次主要说了docker的常用图形化管理工具,不知道各位老铁跟这我的节奏一起练习了吗?docker的口号:Build, Ship and Run,Buildonce,Runanywhere。 (一)实例springboot 比如我们现在有一个最简单的 springboot,需要构建一个最小的Docker 镜像 idea配置springboot 为了方便所有老铁,这个演示过程也做了 ? ? 这样就导致B容器很小符合docker最小化原则。 第一,第二适应于小项目无法批量使用除非写shell脚本无法大规模使用。针对第三种更加简单的方式来实现上面的镜像构建过程呢? Docker 17.05版本以后,官方就提供了一个新的特性:Multi-stage builds(多阶段构建)。使用多阶段构建,可以在一个 Dockerfile 中使用多个 FROM 语句。 ⑤构建Dockerfile docker build -t zhugeaming/docker-multi-java-demo:latest . ?

    1.5K21发布于 2019-08-08
  • 来自专栏迁移内容

    Docker使用-构建MySQL

    拉取官方镜像(我们这里选择5.7,如果不写后面的版本号则会自动拉取最新版) docker pull mysql:5.7 # 拉取 mysql 5.7 docker pull mysql # 拉取最新版mysql镜像 MySQL文档地址 检查是否拉取成功 $ sudo docker images 一般来说数据库容器不需要建立目录映射 sudo docker run -p 3306:3306 run -p 3306:3306 --name mysql \ -v /usr/local/docker/mysql/conf:/etc/mysql \ -v /usr/local/docker/mysql /logs:/var/log/mysql \ -v /usr/local/docker/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql:5.7 -v:主机和容器的目录映射关系,":"前为主机目录,之后为容器目录 检查容器是否正确运行 docker container ls 或 docker ps 可以看到容器ID

    84130编辑于 2022-12-01
  • 来自专栏Ryan Miao

    使用Makefile构建Docker

    使用Makefile构建Docker 刚开始学习docker命令的时候,很喜欢一个字一个字敲,因为这样会记住命令。后来熟悉了之后,每次想要做一些操作的时候就不得不 重复的输入以前的命令。 ]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@data-docker001 docker-airflow Docker构建用的指令 我常用的Makefile如下 NAME = ryan/airflow VERSION = 1.10.4 .PHONY: build start push build: build-version tag-latest: docker tag ${NAME}:${VERSION} ${NAME}:latest start: docker run -it --rm ; docker push ${NAME}:latest 构建一个版本的镜像 make build 构建完毕,运行一下镜像,看看内容是否正确 make start 最后推送到docker仓库 make

    4.2K30发布于 2019-08-29
  • 来自专栏诺依阁的日记簿

    docker gitlab构建镜像

    最近在研究流水线,对于我来说,自动构建并上传镜像是非常有必要的,一方面每次都需要执行代码,一方面每次都需要找到版本号,非常的麻烦。 在此,我顺便编写文章,记录gitlab快速搭建以及ci/cd部署。 配置要求: 4H 8G (可以自己电脑开自启动的虚拟机) 首先安装docker/docker-compose,nuoyis提供了快速安装脚本,在安装docker前全是n curl -sSO https: 构建 .gitlab.yml 编写示范 首先在库的根目录创建build.json { "name": "nuoyis-lnmp-np", "version": "0.1.3" } 然后获取token :20.10.8-dind alias: docker command: ["--insecure-registry=0.0.0.0/0"] variables: DOCKER_DRIVER " - 'docker login --username=$DOCKER_USERNAME --password=$DOCKER_PASSWORD registry.cn-hangzhou.aliyuncs.com

    56400编辑于 2025-03-16
  • 来自专栏小网管的运维之路

    docker构建镜像- Dockerfile

    dockerfile 配置 FROM busybox MAINTAINER ops.attacker.club ADD *.tar.gz lua-nginx*.zip /usr/local/src/ 测试 docker 启动镜像 docker run --rm -it --name host1 busybox:test1 /bin/sh ADD 支持tar包解压不支持zip nginx 镜像构建 dockerfile /sbin/nginx", "-g", "daemon off;"] 构建和运行 docker build -t nginx:v1 -f Dockerfile . #构建镜像 docker run -d -p 80:80 --name nginx-1 nginx:v1

    1.5K20发布于 2019-05-30
  • 来自专栏docker

    docker镜像构建技巧

    2、容器进程docker容器虽然支持多个进程的运行,但是只监听主进程的存活,建议不要在一个容器中启动多个进程。 docker容器启动后,会监听启动的主进程,如果主进程后台运行,docker会认为主进程已退出,导致容器运行出错。请保证主进程前台运行。如果需要在宿主机上后台运行容器,请使用-d参数。 3、镜像层docker镜像由多个镜像层组成,每一层都有它独立的id和校验和。docker会复用相同校验和的镜像层,以此降低镜像大小,提高传输速度。 镜像构建过程中,docker-engine会解析Dockerfile的指令,如果指令没用使用上下文的文件或上下文中的文件没有发生变更,就会复用使用上次构建的镜像对应的镜像层,提高构建速度。 如果不希望复用上次构建的镜像层,可以使用--no-cache参数。4、参数化配置docker镜像的区别应该体现在功能上,而不是配置上。

    43010编辑于 2024-08-14
  • 来自专栏运维之美

    谈谈 Docker 镜像构建

    构建镜像 手动构建 手动构建 Docker 镜像的流程图,如下: ? 现在依次按照流程采用命令行的方式手动构建一个简单的 Docker 镜像。 自动化构建 Dockerfile 构建 自动化构建 Docker 镜像,Docker 公司提供的不是 SHELL 脚本的方式,而是通过定义一套独立的语法来描述整个构建过程,通过该语法编辑的文件,称为 新的 Docker Image 也就构建出来了。 通过 docker history 命令就可以查询出具体 Docker 镜像构建的层以及每层使用的指令。 多阶段构建镜像 多阶段构建 Multi-Stage Build 是 Docker 17.05 版本开始引入的新特性。通过将原先仅一个阶段构建的镜像查分成多个阶段。

    1.7K40发布于 2019-07-24
  • 来自专栏Liusy01

    构建Docker私有仓库

    一、Docker私有仓库 上一篇说了如何利用Dockerfile在已有镜像的基础上构建自己的镜像,那么如果需要让镜像在一个团队中使用,就需要一个仓库,有几种方式可以共享私有镜像。 1、将镜像上传至Docker Hub中 2、利用第三方Docker Harbor 3、创建私有镜像仓库 第一种方式需要在Docker Hub中注册一个账号,然后在本地登陆账号进行上传,但这种方式不安全 第二种方式需要下载Docker Harbor安装,其是用于存储和分发Docker镜像的企业级Registry服务器,需要Docker compose支持。还有对用户友好的界面化操作,推荐此方式。 第三种是Docker提供了一个Registry镜像,名为docker-distribution。咱今儿来部署这种简单的。 二、利用docker-distribution构建私有仓库 1、执行安装命令 yum install docker-registry 2、安装完之后使用如下命令查看 rpm -ql docker-distribution

    1.6K20发布于 2020-08-31
  • 来自专栏技术杂记

    Docker构建 Jenkins

    前言 Docker 与 Jenkins 经常会放到一起构建 CI (持续集成)系统 这里结合Docker Registry 分享一下在Docker构建 Jenkins 容器的相关操作,详细可以参阅 官方文档 Tip: 当前的最新版本为 Docker 1.10 Released on January 15, 2016 ---- 概要 ---- 自定义Jenkins镜像 准备构建环境 在构建环境中准备相应的证书文件和插件信息 [root@docker docker]# mkdir build && cd build [root@docker build]# pwd /root/docker/build [root@docker build]# vim plugins [root@docker build]# cat plugins role-strategy:2.2.0 [root@docker build]# cp .. /certs/docker.* .

    60210编辑于 2022-01-21
  • 来自专栏Coding Diary

    Docker构建私有仓库

    Docker Hub 目前Docker官方维护了一个公共仓库Docker Hub,其中已经包含了数量超过15000的镜像。大部分需求都可以通过在Docker Hub中直接下载镜像来实现。 可以在https://hub.docker.com 免费注册一个Docker账号。 在命令行输入执行docker login,输入用户名及密码可以登录Docker Hub,可以通过docker logout退出登录。 用户登录后也可以通过docker push 命令将自己的镜像推送到Docker Hub。 私有仓库 有时候使用Docker Hub这样的公有仓库可能不方便,用户可以创建自己的私有仓库。 docker-registry是官方提供的工具,可以用于构建私有的镜像仓库。 安装运行docker-registry 可以通过官方registry镜像来运行。

    1.6K40发布于 2019-11-28
领券