`
happysoul
  • 浏览: 407086 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

记录使用Dockerfile创建docker镜像的操作

 
阅读更多
基于 centos6.8 版本
更新 yum
安装必要的 lib 库
安装 redis 并增加密码
从外部复制 Apache、Tomcat、Jre
配置 JAVA_HOME 环境变量


安装docker步骤略(yum install docker-io或者sudo apt-get install docker-io)
基于 centos6.8 就需要下载 6.8 的基础镜像
引用
docker pull centos:6.8


创建一个Dockerfile文件
FROM centos:6.8

#更新和安装软件源
RUN yum -y install epel-release
#这里开始都是redis依赖的库
RUN yum -y update libblkid libuuid plymouth-core-libs
RUN yum -y install dbus-glib hwdata initscripts iproute iptables iputils libdrm libpciaccess logrotate plymouth policycoreutils redhat-logos sysvinit-tool udev util-linux-ng jemalloc redis curl openssl lsof
#最后的curl openssl lsof 是我会用的一并安装了(其实curl和openssl是更新)


#修改redis配置(增加访问密码)
RUN sed -i '31i requirepass 1234567' /etc/redis.conf
#可选修改项,默认redis只能本机访问,改为0.0.0.0不限制访问来源
#RUN sed -i 's/^bind 127.0.0.1/bind 0.0.0.0/g' /etc/redis.conf


#复制(与Dockerfile同级有soft的文件夹)
COPY ./soft /soft

#复制文件夹后执行里面的shell
RUN sh /soft/install_tar.sh

#配置java环境变量(我使用的是解压缩方式)
ENV JAVA_HOME /usr/lib/jdk1.7.0_80
ENV JRE_HOME $JAVA_HOME/jre  
ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib  
ENV PATH $PATH:$JAVA_HOME/bin  

#移除使用完的 soft 文件夹
#RUN rm -rf /soft

#默认容器启动会调用tomcat启动服务
CMD /usr/local/tomcat/bin/catalina.sh run  


摘抄 install_tar.sh 文件

#!/bin/bash
#解压缩 jdk、tomcat、apache 到指定路径
tar zxf /soft/jdk.tar.gz -C /usr/lib/
tar zxf /soft/tomcat.tar.gz -C /usr/local/
tar zxf /soft/apache.tar.gz -C /usr/local/

#给tomcat增加权限
chmod a+x /usr/local/tomcat/bin/*
#替换apache默认页面
mv /soft/datashield/index.html /usr/local/apache/htdocs/

#最终将全部配置和文件删除
rm -rf /soft


使用 Dockerfile 制作镜像(注意最后的一个点儿.不要忘了)
docker build -t 镜像的名字 .

-----------------------------------------

查看所有镜像 IMAGES
docker images

查看所有容器 CONTAINER(不加-a只能看到正在运行的容器)
docker ps -a

删除容器
docker rm 容器ID

删除镜像
docker rmi 镜像ID或者REPOSITORY名字

启动镜像(相当于用光盘安装镜像到电脑中)
docker run 镜像ID或者REPOSITORY名字   (运行结束后容器自动进入关闭Exited状态)
docker run -d --name test1 -p 127.0.0.1:10822:22 镜像ID
docker run -it 镜像ID /bin/bash    (启动镜像并进入启动的容器中进行shell操作)

启动停止容器(相当于电脑的开关机)
docker start 容器ID
docker stop 容器ID

参考文章
http://www.cnblogs.com/styshoo/p/6431748.html
分享到:
评论

相关推荐

    【云计算与容器化技术】基于Dockerfile制作自定义镜像文件的实践报告:涵盖环境清理、镜像构建与容器测试全流程(含详细可运行代码及解释)

    整个过程展示了Docker的基本使用流程,包括镜像管理、容器操作和Dockerfile编写,是云计算和容器化技术的基础实践。; 适合人群:对Docker有一定兴趣并希望深入了解其基本使用流程的技术人员,特别是初学者或有一定...

    Docker Dockerfile文件配置详解

    Dockerfile是Docker镜像构建过程中使用的一种文本文件,它包含了用于自动化创建Docker镜像的一系列指令。通过Dockerfile,开发者可以确保镜像创建的一致性和可重复性,从而简化镜像的构建和分发过程。 1. **基础...

    docker把应用打包成镜像

    创建Docker镜像的第一步通常是选择一个合适的官方基础镜像。基础镜像好比是一个干净的画布,开发者在此之上添加应用的特定内容。例如,如果你的应用是一个基于Node.js的Web应用,那么你可能会选择一个官方的Node.js...

    dify-dockerfile

    Dockerfile 是一种文本文件,它包含了用户创建Docker镜像所需的指令和说明。Dockerfile遵从特定的语法规则,每一条指令都将在Docker镜像的构建过程中执行。Dockerfile的构建过程是可重复的、透明的,它允许开发者以...

    gpt聊天记录 docker相关

    Dockerfile是一种文本文件,包含了使用特定指令创建Docker镜像的步骤。创建好镜像后,可以使用Docker命令行工具将镜像部署为容器,并进行运行和管理。 Docker还提供了编排工具,如Docker Compose和Docker Swarm,...

    Docker创建镜像两种方法详解

    创建镜像有两种方法,一是使用docker commit命令,二是使用docker build命令和Dockerfile文件。这里我们说的创建镜像是指基于一个已有的基础镜像比如ubuntu等,而不是从零创建一个全新的镜像。  下面分别简单介绍...

    基于docker的chat2db.tar镜像

    这个过程可能还会涉及到编写Dockerfile文件,该文件包含了所有创建镜像所需的指令和脚本。构建完成后,开发或运维人员可以通过Docker命令将chat2db镜像部署到Docker容器中,并启动容器来运行chat2db应用。 在使用...

    xtrabackup镜像

    每一个Docker镜像都包含了创建容器所需要的所有信息,包括应用代码、运行环境、库依赖等。Docker镜像通常基于一层或多层只读文件系统,并且可以包含容器运行时需要执行的命令和环境变量。Docker利用这些镜像来运行...

    docker部署考试系统(基于vue3和springboot3搭建的系统)

    创建Docker镜像的过程主要包括编写Dockerfile,这是一个包含所有构建镜像指令的文本文件。对于Vue3前端部分,Dockerfile可能需要包含从Node.js基础镜像开始,安装必要的依赖,构建Vue应用,并设置启动命令。对于...

    Spring Boot Docker 项目:含项目构建、镜像创建、应用部署及相关配置文件,容器化部署.zip

    该项目的核心内容包括了项目构建、Docker镜像创建、应用部署以及相关的配置文件管理等多个方面。 在项目构建方面,Spring Boot以其快速开发特性被广泛应用于微服务架构和单体应用的构建中,其自动配置和内嵌服务器...

    get-command-4-run-container 镜像,Docker查看运行容器启动命令镜像

    例如,Docker Compose是一个用来定义和运行多容器Docker应用程序的工具,它使用一个YAML文件来配置应用程序的服务,使得容器的创建和启动可以一键完成。尽管Docker Compose简化了容器化的复杂性,但在查看和理解容器...

    docker-硬件开发资源

    此外,Docker还允许硬件开发者将环境封装为Docker镜像,直接发布到Docker Hub等镜像仓库,供团队成员或其他开发者下载使用。这简化了协作流程,并且使得硬件开发者可以集中精力于设计与开发工作,而非环境配置。 ...

    容器第四天(day041)

    Dockerfile是一种文本文件,包含了用户创建Docker镜像所需的指令和说明。通过Dockerfile,用户可以自动构建Docker镜像,从而确保应用程序的部署和运行环境的一致性。Dockerfile通常包含了一系列的指令,如FROM(指定...

    Docker简介以及Docker历史PDF

    开发者可以通过Dockerfile来记录应用程序的构建过程,这样就能确保所有开发人员和运维人员都使用相同的方法来构建应用程序,达到环境一致性。 随着时间的推移,Docker Inc.不断推动技术进步,并开发出其他产品,如...

    Docker容器指南.zip

    - **一致的开发环境**:开发者可以使用Dockerfile来记录应用的构建过程,确保开发、测试和生产环境的一致性。 - **快速部署**:开发完成后,Docker可以快速地将应用部署到测试或生产环境,无需担心环境配置问题。 - ...

    docker使用基础

    创建新的docker镜像 创建一个新的镜像,一般有两种方式: 编辑dockerfile,设置相关的参数,进行docker build。 运行已有的镜像,在该镜像的基础上进行修改,再将修改后的镜像另存为新的镜像。 使用命令行运行镜像:...

    Dockerfilemysql.txt

    我们可以把刚才的对容器的所有操作命令都记录到一个文件里,就像写更脚本程序。 之后用 docker build 命令以此文件为基础制作一个镜像,并会自动提交到本地仓库。 这样的话镜像的构建会变的透明化,对镜像的...

    ollama-ollama

    Dockerfile用于定义如何创建一个Docker镜像,而Dockerfile.build可能用于定义如何构建应用的构建环境或中间镜像。这两个文件将详细说明应用所需的基础镜像、运行环境、依赖安装、文件复制、服务启动命令等步骤,是...

    tac-plus 平台镜像制作的文件

    通过Dockerfile,用户可以自动化地创建Docker镜像,而不需要手动一个个地执行命令。在本例中,我们关注的是一个名为“tac-plus平台镜像制作”的文件压缩包,它包含了制作TACACS+平台镜像所需的所有资源。在压缩包...

    austin-Java资源

    首先,Dockerfile是Docker镜像构建的核心文件,它包含了创建容器时所需要执行的命令,比如安装依赖、复制文件等。通过Dockerfile,开发者可以定制化地构建出适用于自身项目的Docker镜像。而docker-compose.yml文件则...

Global site tag (gtag.js) - Google Analytics