我的第一个docker镜像

我的第一个docker镜像

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

目标:

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

步骤:

1, 安装docker

sudo apt-get install docker.io
sudo service docker.io status
sudo 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 yourname
sudo 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:centos7
ADD apache-tomcat-7.0.67.tar.gz /home
ADD jdk-8u65-linux-x64.tar.gz /home
ENV JAVA_HOME="/home/jdk1.8.0_65"
ENV JRE_HOME="/home/jdk1.8.0_65/jre"
EXPOSE 8080
CMD ["/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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值