1.创建容器
我们可以通过公共仓库拉取镜像使用,但是,有些时候公共仓库拉取的镜像并不符合我们的需求。尽管已经从繁琐的部署工作中解放出来,但是实际开发时,我们可能希望镜像包含整个项目的完整环境,在其他机器上拉取打包完整的镜像,直接运行即可。
Docker支持自己构建镜像,还支持将自己构建的镜像上传至公共仓库,镜像构建可以通过以下两种方式来实现:
●docker commit :从容器创建一个新的镜像;
●docker build :配合Dockerfile文件创建镜像。
下面我们先通过docker commit 来实现镜像的构建。目标:接下来我们通过基础镜像centos:7,在该镜像中安装jidk和tomcat以后将其制作为一个新的镜像mycentos:7 。
#拉取镜像docker pull centos:7# 搜索镜像docker search centos#创建容器docker run -di --name centos7 centos:7
拷贝资源
docker cp /root/apache-tomcat-10.0.10.tar.gz mycentos:/rootdocker cp jdk-11.0.9_linux-x64_bin.tar.gz mycentos:/root
进入容器创建文件夹
docker exec -it centos7 /bin/bashmkdir -p /usr/local/tomcatmkdir -p /usr/local/java
安装资源
#在容器内部进行解压文件到指定目录tar -zxvf jdk-11.0.9_linux-x64_bin.tar.gz -C /usr/local/java# 直接编辑文件vi /etc/profile# 创建环境变量export JAVA_HOME=/usr/local/java/jdk-11.0.9export PATH=$PATH:$JAVA_HOME/bin# 激活环境变量source /etc/profile# 切换目录,激活tomcatcd /usr/local/tomcat/apache-tomcat-10.0.10/# 操作tomcatbin/startup.shcurl http://localhost:8080bin/shutdown.sh# 删除多余资源cd ~rm apache-tomcat-10.0.10.tar.gz jdk-11.0.9_linux-x64_bin.tar.gz -rf
构建镜像
docker commit -a="CaesarTylor" -m="jdk11 and tomcat10" centos7 mycentos:7
使用构建的镜像创建容器
#查看正在运行的镜像docker psdocker run -di --name mycentos7 -p 443:8080 mycentos:7# 进入容器内部docker exec -it mycentos7 bashcd /usr/local/tomcat/apache-tomcat-10.0.10/source /etc/profilejava -versionbin/startup.shcurl http://localhost:8080
