Docker官网链接:
引用官方的介绍:
Developing apps today requires so much more than writing code. Multiple languages, frameworks, architectures, and discontinuous interfaces between tools for each lifecycle stage creates enormous complexity. Docker simplifies and accelerates your workflow, while giving developers the freedom to innovate with their choice of tools, application stacks, and deployment environments for each project.
大致意思:
现在开发APP不仅仅是写代码而已, 多语言,多框架和工具之间不一致的接口问题等都会使软件开发过程足够复杂.Docker可以简化和加速你的工作,并且可以让开发者自由的为每个项目引入开发工具,技术栈和开发环境等.
yum install docker
或者
yum -y install docker
启动Docker服务
service docker start
查看Docker是否启动
docker version
或者
ps -ef | grep docker
查看本地是否有镜像,刚安装时是没有任何image的
docker images
docker run hello-world
你可能会遇到运行hello-world报错, Don’t worry Be happy! 更新一下你的系统
yum update
更新之前可以用以下命令看下版本信息,然后更新之后再比较下
cat /etc/redhat-release
更新完之后再来运行hello-world即可
这时我们再来查看本地的镜像,就已经包含了hello-world了,因为你在执行 docker run的时候,如果本地没有时,会从远端pull对应的镜像,如果找不到就会报错
docker images
这里的镜像是运行在一个container中的,可以通过以下命令查看
docker ps -a
好啦,到这里Docker的安装和hello-world算是完成啦!
是不是so easy
要拉取一个镜像首先你得知道这个镜像的tag,有点类似版本或者Maven中的坐标
我们可以在Docker Hub上去找我们想要的
Docker Hub链接
在Docker Hub上搜索centos
我们以centos7为例
docker pull centos:centos7
以centos7镜像为基础,运行一个container, 指定名称为centos7, 可以自己随便命名
docker run --name centos7 b5b4d78bc90c
查看container的状态
docker ps -a
这里的状态exited,是因为我们之前用的 run 命令启动,并且没有设置后台启动,所以退出时容器会停止
我们使用容器的启动命令来启动容器,并且进入容器进行操作
删除之前的容器
docker rm e38b2145fbed
以后台的方式启动一个镜像作为容器, 容器名为centos7
docker run -dit --name centos7 b5b4d78bc90c
进入容器操作
docker exec -it d88f7c0efe45 /bin/bash
下载各个软件对应的安装包
进入docker容器
docker exec -it d88f7c0efe45 /bin/bash
创建对应的目录
mkdir /usr/local/java
mkdir /usr/local/tomcat
mkdir /usr/local/nginx
mkdir /usr/local/mysql
mkdir /usr/local/mongo
mkdir /usr/local/redis
mkdir /usr/local/rabbitmq
退出Docker容器
exit
执行复制操作
docker cp /usr/local/java/jdk-8u191-linux-x64.tar.gz d88f7c0efe45:/usr/local/java/
docker cp /usr/local/tomcat/apache-tomcat-8.5.13.tar.gz d88f7c0efe45:/usr/local/tomcat
docker cp /usr/local/mysql/mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar d88f7c0efe45:/usr/local/mysql
docker cp /usr/local/nginx/nginx-1.18.0.tar.gz d88f7c0efe45:/usr/local/nginx
tar -zxvf jdk-8u191-linux-x64.tar.gz
使用vim你会遇到vim没有安装,自己安装vim
yum -y install vim
然后配置Java环境变量
vim /etc/profile
在文件默认加上以下代码
export JAVA_HOME=/usr/local/java/jdk1.8.0_191
export PATH=.:$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
刷新配置文件
source /etc/profile
验证是否配置成功
java -version
tar -zxvf apache-tomcat-8.5.13.tar.gz
tomcat的部分版本有文件漏洞,可以升级到最新版,或者通过修改配置文件来避免
可参考以下文章
Tomcat高危漏洞
启动tomcat
cd /usr/local/tomcat/apache-tomcat-8.5.13/bin/
./startup.sh start
测试一下
curl 127.0.0.1:8080
我后续还尝试过在cento7的镜像中安装mysql等各种服务,但是在进行的过程中,我发现一个问题,我现在这种方式是把Docker当做一个虚拟机来使用.然后再虚拟机中安装各种软件.但是这样真的好吗?
可以参考下面的文章
java环境搭建
后续也会尝试使用上文推荐的方式进行尝试!
感谢您的阅读,如果有用请动动你的小手指给我个赞
如果您发下文中有任何不妥,欢迎斧正