Docker - 创建镜像(二)】的更多相关文章

实际工作中,我们可能需要自己去创建一个docker镜像,下面给大家介绍如何创建docker镜像 1. 创建一个最简单的镜像 准备Dockerfile文件 [root@dockhost ~]# mkdir d1  # 创建一个空的目录,避免被别的文件打扰 [root@dockhost ~]# cd d1  # 切换到该目录 [root@dockhost d1]# vi Dockerfile  # 创建一个dockerfile文件,名称必须是Dockerfile FROM alpine:latest…
Docker 创建镜像.修改.上传镜像 –创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 一.创建镜像 创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 二.修改已有镜像 1.先使用下载的镜像启动容器. $ docker run -t -i training/sinatra /bin/bash root@0b2616b0e5a8:/# 注意:记住容器的 ID,稍后还会用到. 2.…
Docker的安装及镜像.容器的基本操作详见博客https://blog.51cto.com/11134648/2160257下面介绍Docker创建镜像和创建私有仓库的方法,详细如下: 创建镜像 创建镜像的方法有三种,分别是基于已有镜像创建.基于本地镜像模板创建以及基于Dockfile创建.下面介绍这三种镜像的方法 1.基于已有镜像创建 实质就是把一个容器里面运行的程序以及该程序的运行环境打包起来生成新的镜像. 命令格式:docker commit [选项] 容器ID/名称 仓库名称:标签 (…
1.如何创建镜像文件 首先找到Docker ToolBox安装的路径,在路径下直接新建Dockerfile文件 在Dockerfile文件里写入的内容为: FROM docker/whalesay:latest RUN apt-get -y update && apt-get install -y fortunes CMD /usr/games/fortune -a | cowsay FORM 关键字告诉Docker我们的镜像将基于哪一个镜像.这个的意思是说我们即将创建的镜像将给予whal…
创建镜像 创建  Dockerfile 镜像命名规则:registyr_url / namespace / depart / name : version 用这个规则创建的镜像,可直接推送到私有仓库 构建镜像  docker build -t dev01/aspnet:v1 . 推送到私有仓库 docker push dev01/aspnet:v1 从私有仓库拉取…
ENTRYPOINT 两种格式: ENTRYPOINT [“executable”, “param1”, “param2”] ENTRYPOINT command param1 param2 (shell中执行). 在运行时,可以被--entrypoint参数覆盖,如docker run --entrypoint 每个Dockerfile中只能有一个 ENTRYPOINT ,当指定多个时,只有最后一个起效. VOLUME 格式为 VOLUME [“/data”] . 创建一个可以从本地主机或其他…
创建镜像 一.根据dockerfile创建镜像 文件详解 1.mkdir dockerfile/lib/centos7base/ 创建目录 2.创建Dockerfile vim Dockerfile 3.构建镜像 docker build -t wyxcentos7 . 过程解析docker镜像是只读的,这里为什么能够在centos镜像的基础上进行自定义操作呢? 我们看一下docker的编译过程 编译的第一步(绿色边框)会复用之前已经存在的centos:7 重点是第二步 882832c2b8eb…
docker:/root# docker search centos NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 2028 [OK] jdeathe/centos-ssh CentOS-6 6.7 x86_64 / CentOS-7 7.2.1511 x8... 17 [OK] jdeathe/centos-ssh-apache-php CentOS-6 6.7 x86_64 / A…
手动创建: docker run -d -p mynginx:v2 nginx rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm yum install nginx -y vi /etc/nginx/nginx.conf daemon off; docker ps -a docker commit a823e15f958b oldboyedu/mynginx:v3 docker run -d -p :…
docker build  出错 Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.39/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuqu…
手动创建: docker run -d -p mynginx:v2 nginx rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm yum install nginx -y vi /etc/nginx/nginx.conf daemon off; docker ps -a docker commit a823e15f958b oldboyedu/mynginx:v3 docker run -d -p :…
docker create -it --name mongodb mongo/myubuntu1. docker start mongodbdocker exec -it mongodb bash iptables -t nat -A POSTROUTING -s 10.126.253.2 -j SNAT --to 10.126.253.73docker stop mongodb docker commit mongodb base/mongodb_2.4.9docker rm mongodb…
1.概述 我们制作好镜像后,有时需要将镜像复制到另一台服务器使用. 能达到以上目的有两种方式,一种是上传镜像到仓库中(本地或公共仓库),但是另一台服务器很肯能只是与当前服务器局域网想通而没有公网的,所以如果使用仓库的方式,只能自己搭建私有仓库,这会在另一篇文章中介绍. 如果我们仅仅是要复制到另外少数的服务器,搭建私有仓库显然没有这个必要,而将镜像保存为文件上传到其他服务器再从文件中载入镜像也是一个不错的选择. 可以使用Docker save和Docker load命令来存储和载入镜像. 2.保存…
使用Dockerfile脚本创建jdk1.8镜像 新建jdk目录:(-p表示需要父目录,不然就会出错) mkdir -p /usr/local/dockerjdk1. 将jdk的压缩文件复制到上面的路径 Linux上使用vim在上面创建的目录中创建Dockerfile文件,这里文件内容如下 #依赖镜像名称和ID FROM centos: #指定镜像创建者信息 MAINTAINER ITCAST #切换工作目录 WORKDIR /usr RUN mkdir /usr/local/java #ADD…
前言 在上一篇博客<Docker介绍及常用操作演示--技术流ken>中,已经详细介绍了docker相关内容以及有关镜像和容器的使用命令演示. 现在我们已经可以自己下载镜像,以及创建容器了. 但是现在有这样一个问题,我们创建的容器可以被其他人或者另外一台服务器访问吗? 基于上一篇博客中容器的创建,那样的容器是不能被其他服务器进行访问的,只能在宿主机进行访问. 想要实现被其他服务器访问,就要用到本篇博客写的内容了,有关docker中的虚拟网络. 另外,本篇博客将会介绍一种简单制作镜像的命令,以便我…
继上一篇docker入门之后写一点使用的经验. 通过命令:docker run -it REPOSITORY或IMAGE ID   注:-it后面跟的字段可以通过下面指令获得 创建运行的容器,会进入一个伪终端,如果使用ctrl+D或者使用exist命令来退出伪终端,会造成容器也终止运行.正确推出伪终端的姿势是:ctrl+P之后再按ctrl+q   这样就能把伪终端与容器分离了. Ps:到现在为止可以自己粗略自己发现一些命令了,使用docker --help可以查看到一些命令.其中attach的功…
Docker暴露容器方法 第一种:将容器中的一个端口映射成宿主机中的一个随机端口 第二种:将容器中的一个端口映射成宿主机中的一个端口 第三种:将容器中的一个端口映射成宿主机中的一个特定网卡上的随机端口 第四种:将容器中的一个端口映射成宿主机中的一个特定网卡上的一个端口 [使用多次-p选项可以实现暴露多个端口] Docker端口映射的四种方法使用演示 第一种:将容器中的一个端口映射成宿主机中的一个随机端口 下面的操作确保虚拟机是在桥接模式 第一步:下载httpd镜像 [root@ken ~]# d…
本文介绍如何利用dockerfile来创建镜像.下面介绍具体的操作过程: 一.创建构建环境 操作示例如下: xxx@ubuntu:~$ pwd /home/xxx xxx@ubuntu:~$ mkdir myweb xxx@ubuntu:~$ cd myweb xxx@ubuntu:~/myweb$ touch Dockerfile 上面命令在当前用户(xxx)的主目录下创建了一个myweb目录,并在该目录下建立了一个空的文件名为Dockerfile文件.这个目录就是我们的构建环境(或上下文).…
一.概述 创建镜像有两种方法,一是用commit命令,二是用dockerfile方法(这个更常用,在下面文章介绍).本章介绍commit方法. 在介绍commit命令前,我们先回顾下对代码的版本控制,当修改代码后,我们会commit变更到版本服务器上. 对于容器类似的概念,当创建容器后,如果后面对容器做了修改,就可以利用commit命令将修改提交为一个新的镜像. 二.例子说明 下面我们通过具体的例子来说明: 1.创建新容器 docker run --name newcontent -i -t u…
Docker大部分的操作都是围绕三大核心概念:镜像.容器.仓库.学Docker首先得了解这几个词.这几个词可能平时也会有涉及,但Docker中可能不是同样得概念. 一.三大核心概念 镜像:可能在安装软件操作系统的时候可能会用到镜像,Docker中的镜像也操作系统镜像文件类似,可以理解成是一个模板,这个有点类似手机app应用. 容器:容器就是用来装东西的,Docker中容器用来装什么呢,它用来装由镜像创建的应用运行实例.这个有点类似手机中的沙盒,每个手机app都用自己的运行环境,不受其他app的影…
一. 获取镜像 1.1. docker pull 镜像是运行容器的前提,也就是说没有镜像就没有办法创建容器 获取镜像的命令: docker pull 这个命令可以直接在docker Hub镜像源下载镜像 该命令的格式是: docker pull NAME[:TAG] 其中name是镜像仓库的名称(用来区分镜像)tag是镜像的标签(用来标注版本),通常情况下我们描述一个镜像需要包括"名称+标签"信息 我们pull一个centos的镜像 [root@rsync131 ~]# docker…
前言 最近在研究docker,记录一下如何创建一个属于自己的镜像 本次使用linux版本为centos7.4(centos6也可以使用docker,只不过有部分功能只有7才有) 本次创建的镜像为centos系统中搭建nginx 一.统一环境 系统版本 [root@docker ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 内核版本 [root@docker ~]# uname -r 3.10.0-693.2.2.…
通过Dockerfile创建镜像时,一般都是基于 Docker Hub 提供的官方镜像.以下分别介绍在ubuntu16和centos7 两个系统上创建个人私有基础镜像的方法.  一.ubuntu16创建docker基础镜像 1.安装Bootstrap工具debootstrap $ sudo apt-get insall debootstrap -y 2.使用debootstrap下载ubuntuxenial(16.04)二进制文件 $ sudo debootstrap xenial xenial…
一.下载 registry 镜像 [root@localhost ~]# docker pull registry Using default tag: latest latest: Pulling from library/registry c87736221ed0: Pull complete 1cc8e0bb44df: Pull complete 54d33bcb37f5: Pull complete e8afc091c171: Pull complete b4541f6d3db6: Pu…
一.镜像制作的方法 1.本地导入导出镜像 请参考:Docker 架构原理及简单使用 导出:docker save nginx >/tmp/nginx.tar.gz 导入:docker load </tmp/nginx.tar.gz 2.docker commit 命令创建镜像副本 请参考:Docker docker commit方法镜像制作 3.docker file 前面两种方法已经介绍过了,这里介绍docker file,生成环境推荐使用这种方法 二.docker file方法制作镜像 1…
创建镜像命令 docker build -t [镜像name]:[镜像tag] -f [dockerfile路径] [资源目录] 执行该命令后,docker会将[资源目录]打包,之后在dockerfile中使用COPY命令,就可以从资源目录往docker中拷贝东西了. dockerfile不需要包含在资源目录里,但是dockerfile里要COPY的资源一定要在资源目录里. dockerfile dockerfile命令详解: https://www.cnblogs.com/panwenbin-…
首先,基于要添加内容的镜像ubuntu:18.04运行一个容器, 在宿主机(下面步骤是在容器中创建的,应该在宿主机创建进行以下步骤) 一.创建一个工作目录 二.创建Dockerfile 和脚本run.sh 编写脚本 vi 命令不起作用apt-get 也无效,报错unable to  locate package vim则需要更新一下软件源 apt-get update,然后在apt-get install vim run.sh内容通上一篇 在宿主机通用生成rsa密钥信息,然后创建authorii…
在前面我们讲解了基于已有的镜像容器创建和基于本地模板导入两种方式来创建镜像,在这里我们就来说说第三种创建镜像的方式.Dockerfile是一个文本格式的配置文件,我们可以通过Dockerfile快速创建自定义的镜像. 一.基本结构 Dockerfile是由多行命令语句组成的,并且在文件中支持以 # 开始的注释行.我们一般将Dockerfile文件分为四部分:基础镜像信息.维护者信息.镜像操作指令和容器启动时执行指令.其中,第一行(不包含注释行)必须指定基于的基础镜像,例如:FROM ubuntu…
一.docker常用命令? 1. 常用帮助命令 1.1 docker的信息以及版本号 /* docker info 查看docker的信息 images2 docker本身就是一个镜像. docker version 查看docker的版本号 */ 1.2 docker的启动,停止,重启,查看状态. // service docker start/stop/restart/status 二.镜像命令? 1. 列举出所有的镜像(本地镜像) /* docker images 所拥有的参数: dock…
前一阵试了试写Dockerfile创建docker image,但有时全靠Dockerfile写实在有些难度,退而求其次试一试使用commit来创建镜像: 想了想干脆创建一个Java+Scala+Tomcat的环境好了,首先创建一个拥有操作系统的container: docker run -i -t ubuntu /bin/bash 其中,-it的意思是这个: -t, --tty Allocate a pseudo-TTY -i, --interactive Keep STDIN open ev…