【新手入门】在linux下安装使用docker并且在容器中部署项目

在linux下安装使用docker

  • docker的安装
    • 理解docker中仓库,镜像,容器的区别
  • 容器的使用
    • 创建一个简单的容器hello-world
    • 创建一个tomcat容器并且部署一个项目

docker的安装

推荐 centos7+yum进行安装
安装命令
  yum install docker
启动命令(下面既然设置了开机启动这个命令执行这一次就好啦)
  service docker start
设置开机启动
  chkconfig docker on
测试是否安装成功
  docker version

理解docker中仓库,镜像,容器的区别

【新手入门】在linux下安装使用docker并且在容器中部署项目_第1张图片
(图是网上随便扒过来的)
简单的说,镜像是从远程的镜像仓库中获取,容器是通过镜像来进行创建的。
docker镜像实际上由一层一层的系统文件组成的,它是静态的,是一个只读的模板,一个独立的文件系统。
容器是在镜像上又加了一层读写层,他可以进行启动、停止、删除等操作,因此它是动态的。每一个docker容器之间都是相互隔离的,类似于一个小型的虚拟机。

容器的使用

最好需要配置一下镜像加速,这样拉取镜像的时候可以快一些
配置镜像加速仓库
修改系统中docker对应的配置文件即可
  vi /etc/docker/daemon.json
添加如下信息:
{
“registry-mirrors”: [“https://registry.docker-cn.com”],
“live-restore”: true
}

创建一个简单的容器hello-world

首先要先从远程仓库中拉取一个镜像
  docker pull library/hello-world
输入docker images可以查看本地已经存储的镜像
然后创建并且启动容器
  docker run hello-world

docker run 、docker create 、docker start的区别
  docker run 每次执行都会创建一个新的容器,并且会启动它
  docker create 是仅创建一个容器
  docker start 是启动一个已经被停止的容器,可以通过容器的id或者name来启动它
  docker stop 是停止正在运行中的容器
  docker restart 是重启一个正在运行中的重启
启动容器后会输出以下结果

【新手入门】在linux下安装使用docker并且在容器中部署项目_第2张图片
如果看到这个结果就恭喜你已经成功创建了一个docker容器,只是没什么卵用而已
hello-world容器在输出这些内容后就会自动停止,而有些容器则不会

通过 docker ps可以查看已经运行中的容器,因为hello-world已经自动停止了,因此这样是看不到的。

通过 docker ps -a 可以查看所有创建过的容器

在这里插入图片描述
其中container id和name是容器的id以及name,docker容器的id不能被修改,name可以被修改,当然name也是不能重复的
通过 docker rename id或者旧name 新name
例如:docker rename 37cb90a145fc newWorld

创建一个tomcat容器并且部署一个项目

首先肯定还是先有镜像才行呀
搜索远程仓库中关于tomcat的镜像
  docker search tomcat
【新手入门】在linux下安装使用docker并且在容器中部署项目_第3张图片
就第一个那个stars啥值最高,想都不用想肯定选第一个
  docker pull docker.io/tomcat
几百兆下载时间会长一点

下载完成之后就可以创建容器并且启动了
这次我们可以通过这样的命令来启动它
  docker run -d -p 80:8080 docker.io/tomcat
-d表示让容器在后台运行,你可以一遍运行容器一遍进行别的操作
-p 是将容器内部使用的网络端口映射到我们使用的主机上
因为我们部署的项目肯定要通过外部去访问所以必须要有-p以及后面映射的端口号
80表示外部访问的端口号,8080表示本地端口号

启动成功后就可以通过浏览器去访问了
【新手入门】在linux下安装使用docker并且在容器中部署项目_第4张图片
仅仅是这样肯定是不行的,我们需要部署一个我们自己的项目到docker的容器里面。
首先我们需要将我们打好的war上传到容器里面
通过如下命令
  docker cp 文件路径 容器的id:usr/local/tomcat/webapps
举例: docker cp testproject.war 0c8dbc780433:usr/local/tomcat/webapps
冒号的前后都没有空格的,别乱加加了就不好使了,我第一次就是看网上的一篇博文里面加了空格,结果容器跑起来后找不到项目,然后我还cd到容器内部查看,在docker容器中像什么vim ll 命令都是不可用的需要手动配置狠是麻烦,后面我会说一下如何进入docker内部并且安装命令
之后通过docker start启动容器就可以访问我们自己的项目了
【新手入门】在linux下安装使用docker并且在容器中部署项目_第5张图片
这是我临时打的一个war包,我懒得去写一个漂亮的项目了,我本地的项目都得配数据库才能跑起来
最后再说一下如何进入一个docker 容器的内部
通过如下命令
docker exec -it 容器的id /bin/bash 进入docker容器
当然你的容器必须是在启动后才可以进入的
在这里插入图片描述
在docker容器里面 诸如vim ll这样的命令都是不能使用的,我们需要手动安装或者配置。首先我们得需要安装vim命令
先通过apt-get update 同步索引,获取最新的软件包
然后通过apt-get install vim 安装所需要的命令即可

但是像ll这样的命令则是通过修改资源文件来安装的
先通过vim ~/.bashrc 打开资源文件,所以说肯定得先安装vim命令了
找到这一行alias ll=‘ls $LS_OPTIONS -l’ 把前面的 # 去掉
然后保存退出,最后执行source ~/.bashrc 重新加载资源文件
其他的命令大致上也就是这两种方法,并且每创建一个容器,如果你进入容器内部想要使用这些命令都得重新安装,就是这么坑爹。
退出容器时直接输入命令exit 就可以了
以上就是关于docker入门的一些基本操作,如果有不对的地方还望各位大佬多多指教。

作为一个java小菜鸟还是要多多努力呀

你可能感兴趣的:(【新手入门】在linux下安装使用docker并且在容器中部署项目)