我的第一个docker镜像

来源:互联网 发布:sql 保留小数位数 编辑:程序博客网 时间:2024/04/29 15:39

我的第一个docker镜像

刚刚扫盲了docker,在大牛们的指导下,了解了docker的基本知识和创建 docker镜像的基本命令。
回家立马就安装了64位的ubuntu,开始试试学到的知识。

目标:

基于centos镜像搭建一个http服务器

步骤:

1, 安装docker

sudo apt-get install docker.iosudo service docker.io statussudo service docker.io start

创建软连接
ln -sf /usr/bin/docker.io /usr/local/bin/docker
输入sudo docker version,看看是否成功

补充步骤:
为了避免每次执行docker都要添加一个sudo,我们可以将当前用户添加到docker组。
将当前用户添加到docker组后,重启docker如果不生效,就注销后再登录。

sudo usermod -aG docker yournamesudo service docker restart

试试命令 docker info
如果提示错误,就注销后再登陆
另外,有的网友提到,如果没有docker就新建一个docker组,我这里直接就有docker组了。

2, 获取centos镜像
docker pull centos:latest
老是失败,网上查原因,估计是防火墙的问题,于是直接找国内的centos镜像,这里我使用了
dl.dockerpool.com:5000的centos镜像
docker pull dl.dockerpool.com:5000/centos
如果提示证书的问题,进入/etc/default目录,找到docker文件,在其中添加如下代码:
DOCKER_OPTS="--insecure-registry dl.dockerpool.com:5000"
下载成功后,给下载的镜像做个tag,否则名字太长了
docker tag dl.dockerpool.com:5000/centos centos:centos7
这样image的名字就可以缩短为:centos:centos7

3,下载apache-tomcat-7.0.67.tar.gz和jdk-8u65-linux-x64.tar.gz
直接到官网上下载二进制版本,速度还不错,比较顺利!tomcat需要jre环境,所以需要下载jdk。

4,home目录下建立一个mydocker目录,将apache-tomcat-7.0.67.tar.gz和jdk-8u65-linux-x64.tar.gz拷贝到mydocker目录

5,编写Dockerfile, 也要放到mydocker下

FROM centos:centos7ADD apache-tomcat-7.0.67.tar.gz /homeADD jdk-8u65-linux-x64.tar.gz /homeENV JAVA_HOME="/home/jdk1.8.0_65"ENV JRE_HOME="/home/jdk1.8.0_65/jre"EXPOSE 8080CMD ["/home/apache-tomcat-7.0.67/bin/catalina.sh","run"]

这里要提醒的是:
1)EXPOSE 8080,这个表示要把容器需要将8080映射到宿主机
后续运行镜像时通过-p参数就可以进行映射了。8080是tomcat缺省的服务端口;
2) ENV是设置环境变量,启动tomcat时需要用到。
3)CMD命令是run image时执行的命令,注意RUN是build image时执行的命令
4)需要重点强调的是:这里启动tomcat的命令不能用startup.sh,否则,执行docker run后容器马上退出了。

6, 创建镜像
docker build -t myhttp .
注意最后面那个’.’,不要漏掉了,myhttp就是创建的镜像的名称。

7, 运行命令
docker run -d -p 8080:8080 myhttp
-d 表示以后台程序运行
-p 表示将容器内部的8080端口映射到宿主机的8080端口

8,在浏览器上输入localhost:8080看看apache的页面跳出来了没?出来了,就成功了。

0 0
原创粉丝点击