dockerfile案例1

目标:
改装阿里云上的centos,让其支持vim和ifconfig命令

1.dockerfile这么写:

FROM centos
MAINTAINER nbllq<nbllq@qq.com>
ENV MYPATH /usr/local
WORKDIR MYPATH
RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 80
CMD echoMYPATH
CMD ech "success----ok"
CMD /bin/bash


2.在当前目录下构建自定义的改装centos镜像

docker build -f /mypath/dockerfile -t mycentos:1.1 .

3.进入容器

docker run -it mycentos:1.1

dockerfile保留字

dockerfile有一些常用保留字,记录一下,以后备查

FROM 基础镜像

MAINTAINER 作者姓名和邮箱

RUN build的时候跑的命令

EXPOSE 容器对外暴露的端口

WORKDIR 登录容器的默认工作目录

ENV 设置环境变量

ADD 将宿主机目录下的文件拷贝进镜像且自动处理url和解压tar包

COPY 将宿主机目录下的文件拷贝进镜像

VOLUME 容器数据卷,数据保存和持久化,即指定宿主机和容器共享目录

CMD 指定容器启动时候执行的命令,只有最后一个生效,cmd会被docker run之后的参数替换

ENTRYPOINT 指定容器启动时候执行的命令,追加执行

ONBUILD 构建一个被继承的dockfile时运行命令,子镜像构建完后的触发命令,即父镜像收尾工作

Docker-start

引子:之前遇到个sb程序用的不同的开发环境导致服务器各种神配置,后来了解到docker似乎可以解决开发环境和部署环境不一致的问题,所以入坑docker,看是不是如大家传说的好用。
官方文档:
https://docs.docker.com/engine/install/centos/

1. 查看服务器版本

cat /etc/redhat-release
要求centos7以上64位服务器才可以安装docker

2.install gcc/c++

yum -y install gcc
yum -y install gcc-c++
gcc -v
my version:
gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)

3.装个仓库

$ sudo yum install -y yum-utils

$ sudo yum-config-manager \
    --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4.更新yum软件包索引

yum makecache fast

5.安装docker-ce

sudo yum install docker-ce docker-ce-cli containerd.io

6.启动docker

systemctl start docker

7.查看docker版本号:

docker version

8.helloworld

docker run hello-world

9.卸载docker

systemctl stop docker
yum -y remove docker-ce
rm -rf /var/lib/docker