Docker 之 构建镜像

    xiaoxiao2024-01-22  148

    构建镜像的两种方式,无论哪种方式,创建新镜像都需要依赖一个已有的标准镜像文件

    1、通过Docker commit 来保存当前容器内容为一个新镜像

    $ docker commit container_name new_image_name

    2、通过Dockerfile文件构建新镜像

    编辑Dockerfile文件 #FROM必须是第一行,指明要基于哪个镜像进行构建 FROM daocloud.io/centos:7 #多行标签 LABEL com.example.version="0.0.1"\ com.example.release-date="2017-05-25" #将同Dockerfile文件目录下的文件拷贝到镜像的指定目录下 COPY shm.jar /usr/local/ COPY jdk1.8 /usr/local/ #设置镜像的环境变量 ENV JAVA_HOME=/usr/local/jdk1.8 ENV PATH=$JAVA_HOME/bin:$PATH #指定容器被运行时,自动执行的命令,方便服务镜像的使用 CMD /usr/bin/touch /usr/local/shm.log &&\ java -jar /usr/local/shm.jar &> /usr/local/shm.log & #曝光运行该镜像容器的端口 EXPOSE 9090

    构建镜像

    # 注意最后的 . 这个点指定Dockerfile所在的当前目录 docker build -t image_name:tag .

    运行镜像docker run -idt --name container_name -p port:port image_name:tag shell

    docker run -idt --name mysql -p 3306:3306 local/mysql:1.0 /bin/bash
    最新回复(0)