Docker容器构建

        Docker轻量级的系统容器,方便部署调试,CentOS为常用服务端生产环境,如何通过纯净的CentOS系统构建Docker服务呢?CentOS官方为我们提供了基础的Docker容器,参考地址为:https://hub.docker.com/r/library/centos/。

 首先准备基础容器Dockerfile

 

FROM centos:7.3.1611
ENV container docker
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \
systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]

然后build镜像文件:

docker build --rm -t local/centos7-systemd:7.3.1611 .

 

镜像构建成功后运行docker images如下:

 

上述显示则表示基础容器构建成功了。

然后基于docker我们可以构建自定义的容器:

然后构建这个容器Dockefile如下:

FROM local/centos7-systemd:7.3.1611
RUN yum install -y libpcap-devel ; yum -y install gcc gcc-c++ kernel-devel  ;  yum clean all;
ADD go1.9.linux-amd64.tar.gz   /usr/local/
ENV GOROOT   /usr/local/go
ENV GOPATH   /root/go
ENV PATH    $GOROOT/bin:$PATH
RUN mkdir  $GOPATH
RUN yum install -y epel-release;yum install -y lz4-devel;
COPY confluent.repo  /etc/yum.repos.d/
RUN   yum clean all;yum  install -y  librdkafka-devel;

CMD ["/usr/sbin/init"]

运行创建命令

$ docker build --rm -t local/c7-systemd-golang .

构建成功后可以运行这个容器了

 

$ sudo  docker run --restart always  --name centos7-golang -v /opt/dockerData/centos7-golang/go:/root/go -e GOPATH=/root/go -d  local/c7-systemd-golang  

最后进入容器测试应用OK!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值