当前位置:首页 > CN2资讯 > 正文内容

我的世界docker输入指令 docker搭建我的世界

1天前CN2资讯


本文阐述如何创建一个docker实例,以及安装tomcat8和 jdk1.8

① 原材料准备
准备一台centos的linux操作系统一枚
配置要求:
必须是64位操作系统,建议内核在3.8以上,查看内核命令:uname -r

② 使用yum安装docker

# yum install docker # docker version # systemctl start docker.service

以上三步是安装docker,查看docker版本(是否安装成功),启动docker服务


③ 获取centos镜像

docker下载centos镜像

docker pull centos:7.2.1511

查看本地镜像信息

docker images


REPOSITORY :仓库名称

TAG : 镜像标签 (后面可用于发布到个人dockerhub上)

IMAGE ID : 镜像ID

CREATED : 创建时间

SIZE : 大小

下载的centos镜像ID为:4cbf48630b46

② 创建容器

容器是基于镜像创建的,执行镜像生成容器,方可进入容器
启动容器命令: docker run <相关参数> <镜像 ID> <初始命令>

启动容器

docker run -i -t -v /root/software/:/mnt/software/ 4cbf48630b46 /bin/bash

参数解析
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
/bin/bash:一旦容器启动,需要执行的命令,当前使用 “/bin/bash”, 表示启动后直接进bash shell

tips:这里挂载的意思就是 4cbf48630b46创建的容器访问 /mnt/software/ 目录下的文件就相当于访问 宿主机的 /root/software/下的文件,且两者文件夹里内容相同

执行完上面命令后,自动会进入容器内部。


退出当前容器命令:ctrl+d 或者 直接输入 exit


进入容器命令

docker ps : 查看当前运行的容器信息(刚才那种退出方式就会默认关闭容器)

docker ps -a : 查看关闭的容器


docker start [容器ID]:启动容器

docker exec -it [容器ID] /bin/bash : 进入容器


进入容器的方式有好多种,还有docker attach [容器ID],但是在下用这个命令经常卡死

常用进入容器传送门:


③在容器内部安装tomcat8+jdk1.8 【版本一样安装】下载 tomcat和jdk的 tar包,通过ftp工具上传到宿主服务器的/root/software/文件下,因为前面做了挂载,所以待会进入docker容器里的/mnt/software/文件夹下也是可以看到的


进入到容器内部,进入/mnt/software/ 你会发现这里已经有了两个tar包

cd /mnt/software/


好了,接下在安装tomcat 和 jdk 和 平时在linux安装差不多

解压,然后丢到 /opt/ 文件目录下

tar -zxvf apache-tomcat-8.0.53.tar.gz tar -zxvf jdk-8u141-linux-x64.tar.gz mv apache-tomcat-8.0.53 /opt/tomcat mv jdk1.8.0_141/ /opt/jdk

设置java 环境变量

vi /etc/profile

在文件末尾加上

JAVA_HOME=/opt/jdk/ JAVA_BIN=/opt/jdk/bin JRE_HOME=/opt/jdk/jre CLASSPATH=/opt/jdk/jre/lib:/opt/jdk/lib:/opt/jdk/jre/lib/charsets.jar export JAVA_HOME JAVA_BIN JRE_HOME PATH CLASSPATH

使得配置立马有效

source /etc/profile vi ~/.bashrc

在文件末尾加上

export JAVA_HOME=/opt/jdk export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

使得配置立马有效

source ~/.bashrc

看了网上好多设置一个就可以了,但是在下总是不成功,很生气所以两个都设置了。(实践得出 设置 bashrc 这个就可以了)
看看成功没

java -version


OK !!!

这个容器的初衷是用来当web服务器,所以可以把这个容器理解为 启动容器,则启动tomcat,所以这里要写个启动脚本

vi /root/run.sh

在里面加入,用于启动tomcat

#!/bin/bash source ~/.bashrc sh /opt/tomcat/bin/ run

设置run.sh 权限

chmod u+x /root/run.sh

这个时候都安装完毕,输入eixt退出容器

回顾一下,我们是用了centos镜像,运行,生成了一个容器,然后再容器里面安装了 jdk 和tomcat ,这个时候我们可以创建一个tomcat镜像

④ 创建tomcat镜像
根据之前安装好环境的容器ID 创建一个镜像

docker commit [容器ID] mytomcat:1.0

docker ps -a docker commit 8acb7b3d6782 mytomcat:1.0 docker images


好了,tomcat镜像已经完毕

⑤ 启动tomcat容器

首先再宿主服务器创建一个webapps文件夹,用来存放项目,映射容器中的 tomcat 的webapps,这里就写个index.html 得了,存放在宿主机的 /root/webapps/test
备注:不要把index.html 直接丢到webapps下,否则访问会 404,创建一个文件夹放index.html ,这里是test文件夹。

mkdir /root/webapps/test cd /root/webapps/test vi index.html

在index.html 写个hello
启动tomcat

docker run -d -p 58080:8080 -v /root/webapps/:/opt/tomcat/webapps/ --name mytomcat_1 mytomcat:1.0 /root/run.sh

参数解释:
-d:以“守护模式”执行/root/run.sh脚本,此时 Tomcat 控制台不会出现在输出终端上。
-p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 58080 端口,这样就向外界暴露了 58080 端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
–name:表示容器名称,用一个有意义的名称命名即可。
查看是否启动成功

docker ps


好了浏览器访问: ip:58080/test/index.html


OK 大功告成,下篇写如何把自己的镜像丢到dockerhub 上面,然后随时随地可以拉取下来以供使用。


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/21373.html

    分享给朋友:

    “我的世界docker输入指令 docker搭建我的世界” 的相关文章

    RackNerd 密码管理与安全指南:保护您的账户安全

    RackNerd 密码管理与安全 在探讨RackNerd的密码管理与安全之前,了解这个主机商的背景有助于我们更好地理解其服务的重要性。RackNerd成立于美国,专注于提供多种主机服务,包括虚拟主机、KVM VPS、Hybrid Dedicated Servers和独立服务器租用等。这些服务非常适合...

    Zenlayer如何优化企业全球网络连接与数字化转型

    在当今数字化时代,企业对全球网络连接的需求呈现出爆炸式增长。Zenlayer作为一家基于SDN的全球网络及服务提供商,恰如其分地填补了这一市场空白。总部位于洛杉矶的Zenlayer,不仅连接着企业和用户与云端,还通过其高度灵活的裸机云、云连接以及边缘计算服务,帮助企业迅速部署和管理全球IT资源。我认...

    AS4837线路概述与技术特点解析,适合预算有限用户的高速网络选择

    AS4837线路的概述 当我开始了解AS4837线路时,就会发现它不仅仅是一个技术名词,更是中国联通的一部分。AS4837,简称为China169,是中国联通的骨干网线路,诞生于20世纪90年代。这条线路架起了中国大陆与全球之间的桥梁,特别是连接了香港、美国、日本和韩国等重要地区。对于那些追求高速互...

    深入了解CN2 GIA VPS:选择更快稳定的虚拟专用服务器

    在现代互联网环境中,选择合适的虚拟专用服务器(VPS)至关重要。CN2 GIA VPS,则是个不错的选择。它基于中国电信的CN2 GIA国际精品网络,这一网络是中国电信下一代承载网络的高端产品,又被称为Chinatelecom Next Carrier Network- Global Interne...

    芝加哥时区详解:如何有效应对中部标准时间的挑战与机遇

    芝加哥位于美国伊利诺伊州的东北部,是美国重要的城市之一。对于身处这座城市的人们,了解芝加哥时区无疑是日常生活中的一部分。我自己在这里生活的时候,时区的变化让我对时间更加敏感。芝加哥时区,其实就是中部标准时间(Central Standard Time,CST), UTC-6。这种时间定义不仅影响着我...

    全面解析甲骨文服务器:功能、应用与未来趋势

    甲骨文服务器概述 甲骨文服务器的定义与功能 甲骨文服务器,简单来说,是一种数据库管理系统,非常适合于处理复杂的数据和海量的信息。它不仅能够存储数据,更能够提供高效的数据管理、查询和分析功能。这样的系统通常由多个功能模块构成,能够满足企业在数据处理方面的多种需求。我一直认为,甲骨文服务器最大的优势在于...