centos7 集成docker 搭建服务器环境
最近频繁搭建线上环境,总是被各种配置搞得很烦,所以尝试使用docker搭建环境,遇到一些难点,记录一下,方便以后查询。
安装docker
网上有很多的教程,基本都可以安装成功。
docker的一些基本命令
docker search 要查询的软件名称(tomcat)#查询要安装的软件。
docker pull tomcat或者docker pull tomcat:8.5.02 #可以直接跟软件名(下载最新版本),也可以跟版本号,下载指定版本。
docker images #查看已经下载的镜像。
docker ps -a #查询所有已经运行或者没有运行的镜像,因为每一个镜像运行会有一个虚拟空间(我感觉像是一个线程,都是一个独立的个体)。
docker info #查询docker版本信息等等。
docker run -d -p 9020:8080 —name mytomcat tomcat # 起一个别名(mytomcat),并且映射一个端口号,(如tomcat端口为8080,映射为9020,在浏览器可以使用9020访问项目),tomcat就是我们下载的镜像的名称(根据自己下载的名称),运行镜像。
docker exec -it 要进入正在运行的镜像线程的id /bin/bash # 进入指定镜像线程的目录,(方便查询)。
docker rmi 要删除的镜像名
docker rm 要删除的镜像线程名
docker logs -f -t —tail 行数 容器名 #查看指定容器的日志
docker inspect 容器名 #查看指定容器的详细信息
docker volume ls #查看容器数据卷列表,一般数据卷都存在/var/lib 目录下
修改docker下载镜像的默认存储路径
1、systemctl stop docker
2、vim /etc/sysconfig/docker
OPTIONS=’—selinux-enabled —log-driver=journald —graph=/docker —signature-verification=false’
/docker这个目录就是我用于替代默认/var/lib/docker的目录,目录创建好之后记得“mv /var/lib/docker/* /docker/”,把所有原先目录下所有的文件和目录拷贝到新目录下。
3、systemctl daemon-reload
4、systemctl start docker以tomcat镜像为例,在启动了镜像之后,部署web项目的一些要点。
之前启动能成功,但是只能访问tomcat的欢迎页,放入自己的项目就访问不到了。解决如下:
下载并启动tomcat
docker run -d —rm —name mytomcat tomcat #这里是重点。使用这个命令启动镜像之后,使用docker stop mytomcat之后会删除原来的镜像。
#一个个的分别将conf、webapps、logs文件夹拷贝出来。
#容器里的tomcat目录是在/usr/local/tomcat
docker cp 开辟出来的镜像线程id(mytomcat id):/usr/local/tomcat/bin /data/tomcat
#停止容器
docker stop mytomcat # 这一步也是比较重要的一点,因为要清除原来的镜像线程,这样我们就不用调用docker rm来删除了,docker 自动帮我们清除。
#上传项目,可以是war包,也可以是通过maven编译过的项目(class文件),重新命名为ROOT文件夹。
#重新运行mytomcat
docker run -d -p 9020:8080 -v /home/www/mytomcat/webapps:/usr/local/tomcat/webapps --name mytomcat tomcat
1.-d -p 9020:8080:后台运行,外端口9020映射内部端口8080
2.-v /home/www/mytomcat/webapps:/usr/local/tomcat/webapps:挂载本机的目录'/home/www/mytomcat/webapps'到docker的'/usr/local/tomcat/webapps'的目录用于部署webapp
3.--name mytomcat:创建的容器名称
4.tomcat:创建的Tomcat镜像
这里只是写了webapps目录的挂载,其他的路径都可以写在这里,格式跟webapps一样。
暂时先记录这些,遇到了在添加。
还没有评论,来说两句吧...