Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。 来自大多数文章的介绍。
系统环境:ubuntu
1.首先我们先在我们的系统安装docker
sudo apt-get update 先更新一下
sudo apt-get install docker.io 执行安装
安装完成后
sudo service docker start 启动服务
相当我们安装好了一个虚拟机咯。但是我们虚拟机需要安装操作系统吧,这就叫是镜像,用来安装操作系统文件系统。
这是我的个人定义。
所以我们查看我们docker的镜像
docker images
我们刚安装完,是没有镜像的哈
接下来我们去找镜像吧。
镜像可以去找开源的,也可以我们自己制作哦。
我们可以去Docker Hub 下载公共镜像,或者去阿里云https://dev.aliyun.com/search.html
这是已经做好的镜像了。
docker pull java 我们下载一个包含java环境的镜像
下载完成后我们再看下docker images 列出系统的镜像文件
我们使用刚下载的镜像运行命令:
docker run -i -t java /bin/bash
这时我们就进入了容器系统了哦,这时候操作是容器里的系统文件哦。
当你输入 Exit 命令退出容器时,容器也是停止运行,如果你想容器在后台运行需要在命令后面添加 -d 参数。
常用命令:
查看所有的容器:
docker ps -a
查看所有在运行的容器:
docker ps
删除镜像
docker rmi [ID]
删除容器
docker rm [ID]
启动一个容器:
docker start 容器名或ID
停止一个在运行的容器:
docker stop 容器名或ID
重命名容器名称:
docker rename 原容器名 新容器名
登录指定容器
docker exec -it 容器名 /bin/bash
进入容器我们查入 java -version发现我们JAVA环境已经安装好了。因为我们这个镜像已经包含了JAVA的运行环境了。
我们一个假设发布一个网站到tomcat吧。
那我们还需要安装一个tomcat到容器里吧。
我们复制一个tomcat到我们的容器里,运行如下命令:
docker cp [宿主机路径] [容器名称]:[容器路径]
然后通过命令:
docker run -d -p 8080:8080 -v /root/webapps/:/data/apache-tomcat-7.0.77/webapps/ --name mytomcat_2 mytomcat /root/run.sh
我们来说下这些参数。。
docker run运行容器
-d 在后台运行容器并打印容器ID
-p 8080:8080向主机发布容器的端口,也就是将主机的8080端口跟容器的8080端口映射
-v /root/webapps/:/data/apache-tomcat-7.0.77/webapps/ 将主机的目录/root/webapps/ 挂载到容器的目录/root/webapps/: 我们可以把我们的网站目录放在主机的/root/webapps/目录下,就可以自动挂载到我们的容器tomcat目录的webapps下面了。
--name mytomcat_2 将名称分配给容器为mytomcat_2
mytomcat /root/run.sh 运行容器名称为mytomcat_2的目录为/root/run.sh的shell脚本。
run.sh的内容:
#!/bin/bash
sh /data/apache-tomcat-7.0.77/bin/catalina.sh run
就是运行我们的tomcat
至此我们的我们完成了一个包含java+tomcat环境的容器。
我们可以把打包成新的镜像,使用命令:
docker commit [原容器名称或ID] [新容器名称]
提交之后就生成新的一个镜像文件。