树莓派安装Docker之——HelloWorld

前言:

今天想用树莓派装个Docker  我的树莓派安了centos7

树莓派的CPU是 ARMv8的   百度了一下资料说Docker有AArch64版本,那就动手试一试。

(由于Centos官方没有64位 img 只有iso 于是就在网上淘来一个AArch64版本  地址:https://www.west.cn/info/html/caozuoxitong/Linux/20180709/4285295.html)



进入正题:


添加yum仓库 :yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

使用yum 安装docker  :yum install docker-ce

安装完成后可以使用 docker -v 查看是否成功

之后就是启动docker  : service docker start

启动玩就可以开始hello-world之旅了

使用命令 docker search "Imag_name"   查询镜像-当然也可以自己做(后面在讲)  Imag_name 便是镜像的名字。

树莓派安装Docker之——HelloWorld_第1张图片
我这里查询了一下tomcat

找到要用的镜像之后便是把他pull下来 : docker pull  "Imga_name"

当然我这里已经pull过了

可以通过命令: docker images 查看已有的镜像

docker images



运行镜像:


有了镜像那就该让他跑起来。

执行 docker run -p 8081:8080 tomcat  命令 

docker run 是运行容器。后面可以加很多参数。具体参照百度 

-d 指定容器运行于前台还是后台,默认为false

-p 映射端口外部端口映射容器内部端口    8081:8080 的意思就是  容器内部的程序端口是8080与之映射的外部端口是8081.

端口后面的tomcat 是容器的名字

树莓派安装Docker之——HelloWorld_第2张图片
由于我没有后台运行直接tomcat的日志就出来了

镜像已经放入容器,并且成功跑起来了

可以使用docker ps -a 查看所有的的容器

这里可以看到正在运行的与没有运行的容器

使用 docker stop "imga_name" 可以停止容器 相反 start 可以启动容器

这里就不得不提一下容器与镜像的区别

这里run 和start 还是有区别的。run是把镜像装入容器,然后start 这是两个步骤。start仅仅是运行容器

镜像是装在容器里的。镜像不能单独运行而且在容器是只读的。类似于当年的小霸王学习机插的卡。插啥卡运行啥东西。但是在容器内修改文件并不影响镜像。

当然镜像也是可以自己制作。我们第二part在聊聊dockerfile


操作容器内部资源:


既然我们的tomcat容器已经跑起来了,是不是该让他运行点东西

使用docker exec -it "imag_name" bash 去操作容器内部的文件


操作容器

看到这我们就可以发现docker 与虚拟机的差别 ,docker 只是在进程上进行隔离,或者说是文件上。而虚拟机则是在操作系统层面的隔离。

进入到容器内部看到了tomcat,找到它的webapp 。还是熟悉的味道,但是这里不能直接使用cp mv等命令。记住这它可不是你的linux,他是一个虚拟的文件资源哟,

所以得exit 退出容器,在外面拷贝进来  使用     docker cp xxx.war "imag_name" :/usr/local/tomcat/webapps

和linux 的cp很像,cp紧紧跟着的就是 linux下的文件路径,接着是你的镜像名字或者id都行,接一个:加路径 代表是在这个镜像下的路径。这样就复制进去了


复制资源

然后重启。stop 在start。 

记住任何容器内的操作都需要先运行容器才能进行。否则是无法操作的。

然后就是使用其他电脑访问一下把。我扔进去的war包是最近在搭建的Jenkins。登陆IP加映射的端口号 


树莓派安装Docker之——HelloWorld_第3张图片
成功访问


这样就ok啦。

当然。不想要的容器可以直接删除  docker rm "imag_name" 但是得停止运行容器才能删除



有了docker 再也不用搭建环境了。有mysql 的镜像,redis 的镜像。都是一键启动是不是很爽!下期我们讲第二part 手动构建镜像 dockerfile。

你可能感兴趣的:(树莓派安装Docker之——HelloWorld)