Docker 教程 之 Docker 镜像使用 4

简介: Docker 镜像使用

Docker 教程 之 Docker 镜像使用 4

Docker 镜像使用

构建镜像

我们使用命令 docker build , 从零开始来创建一个新的镜像。为此,我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。

baidu@baidu:~$ cat Dockerfile
FROM centos:6.7
MAINTAINER Fisher "fisher@sudops.com"

RUN /bin/echo 'root:123456' |chpasswd
RUN useradd baidu
RUN /bin/echo 'baidu:123456' |chpasswd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE 22
EXPOSE 80
CMD /usr/sbin/sshd -D

每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。

第一条FROM,指定使用哪个镜像源

RUN 指令告诉docker 在镜像内执行命令,安装了什么。。。

然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。

baidu@baidu:~$ docker build -t baidu/centos:6.7 .
Sending build context to Docker daemon 17.92 kB
Step 1 : FROM centos:6.7
---> d95b5ca17cc3
Step 2 : MAINTAINER Fisher "fisher@sudops.com"
---> Using cache
---> 0c92299c6f03
Step 3 : RUN /bin/echo 'root:123456' |chpasswd
---> Using cache
---> 0397ce2fbd0a
Step 4 : RUN useradd baidu
......

参数说明:

-t :指定要创建的目标镜像名

. :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径

使用docker images 查看创建的镜像已经在列表中存在,镜像ID为860c279d2fec

baidu@baidu:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
baidu/centos 6.7 860c279d2fec About a minute ago 190.6 MB
baidu/ubuntu v2 70bf1840fd7c 17 hours ago 158.5 MB
ubuntu 14.04 90d5884b1ee0 6 days ago 188 MB
php 5.6 f40e9e0f10c8 10 days ago 444.8 MB
nginx latest 6f8d099c3adc 12 days ago 182.7 MB
mysql 5.6 f2e8d6c772c0 3 weeks ago 324.6 MB
httpd latest 02ef73cf1bc0 3 weeks ago 194.4 MB
ubuntu 15.10 4e3b13c8a266 5 weeks ago 136.3 MB
hello-world latest 690ed74de00f 6 months ago 960 B
centos 6.7 d95b5ca17cc3 6 months ago 190.6 MB
training/webapp latest 6fae60ef3446 12 months ago 348.8 MB

我们可以使用新的镜像来创建容器

baidu@baidu:~$ docker run -t -i baidu/centos:6.7 /bin/bash
[root@41c28d18b5fb /]# id baidu
uid=500(baidu) gid=500(baidu) groups=500(baidu)

从上面看到新镜像已经包含我们创建的用户 baidu。

目录
相关文章
|
6月前
|
应用服务中间件 开发工具 nginx
Docker概述 、 部署Docker 、 Docker镜像 、 Docker基本命令
Docker概述 、 部署Docker 、 Docker镜像 、 Docker基本命令
263 0
|
Ubuntu 关系型数据库 Linux
|
6月前
|
Docker 容器
Docker学习笔记六:如何分享一个镜像
Docker学习笔记六:如何分享一个镜像
131 0
Docker学习笔记六:如何分享一个镜像
|
Ubuntu Docker 容器
|
Ubuntu 关系型数据库 Shell
|
Docker 容器
|
存储 运维 Kubernetes
Docker 教程(一):Docker 是什么
Docker 是一种将应用程序和服务器配置打包成 Docker 镜像的方法,使用了一种称为 Dockerfile 的简单打包规范。Docker 镜像可以启动多个多个实例,这些运行的实例被称为 Docker 容器。这个系列的内容主要包括讲解什么是 Docker 镜像、什么是容器、什么是 Dockerfile,以及如何创建、运行和发布等。
177 0
Docker 教程(一):Docker 是什么
|
存储 Kubernetes 应用服务中间件
Docker 与 K8S学习笔记(三)—— 镜像的使用
前面的文章介绍过镜像的三种获取方式: 下载并使用别人创建好的镜像; 在现有镜像上创建新的镜像; 从无到有创建镜像。 本文主要介绍前两种。 一、下载镜像 在Docker Hub上有大量优质镜像可以使用,我们通过docker pull命令就能获取任何我们想要的镜像: $ docker pull [选项]
720 0
|
关系型数据库 MySQL 应用服务中间件
Docker镜像实战
Docker镜像实战(ssh、systemctl、nginx、tomcat、mysql)
下一篇
无影云桌面