Docker 入门
容器技术已经越来越火爆,作为攻城狮有必要了解一下Docker
什么是Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。正如 Docker 的 Logo 所示。一条大鲸鱼载着各种集装箱。大鲸鱼就可以看成宿主机,集装箱就是在宿主机上的容器,容器之间是相互隔离的。
怎么用Docker
Docker 最重要的的是 image ,也就是镜像。先有镜像,再建立容器。
Docker 的使用方式是很简单的,暂时我也只是刚刚学会一些简单的使用方式。暂时先介绍 Docker 几个命令的使用方式:
- docker –version 查看当前安装的 Docker 的版本
- docker –info 查看 Docker 的信息
- docker images 查看所有的镜像
- docker ps -a 查看所有的容器
- docker ps 查看正在运行的容器
- docker rm
删除容器 - docker rmi
删除镜像 多加一个i,rmi。 - docker stop
停止运行的容器 - docker start
启动一个容器 - docker run -ti [–name container-name] -v [宿主机地址]:[容器地址] <镜像名> /bin/bash eg:docker run -ti –name web -v /Users/alvin/Devtools/docker/:/mnt/software/ centos /bin/bash 这条命令的意思在 centos 镜像上建立一个名为 web 容器。-v 的意思是在宿主机的/Users/alvin/Devtools/docker/ 挂载在 web 容器的/mnt/software/ 位置。
- docker commit <容器ID> chenzhijun/javaweb:1.0 保存容器为一个镜像
怎么创建镜像
一切从理论都是屁话,理论结合实践才是王道。
下面建立一个Javaweb运行环境的容器,生成image上传到hub.docker.com。
1:首先要下载Centos 镜像
docker pull centos
2:在Tomcat官网上下载Tomcat linux 版本;在 Oracle 官网下载 JDK 。解压后将tomcat和jdk存放在本地宿主机 [自定义目录:/User/alvin/Devtools/docker/]
3:在centos上建立一个新容器
docker run -ti --name chenzhijun -v /Users/alvin/Devtools/docker/:/mnt/software/ centos /bin/bash
4:进入容器里面,将software下的tomcat和jdk移动到/opt/下面
1 | Vim ~/.bashrc |
5:进入容器后创建脚本
1 | vi /root/run.sh |
6:修改脚本文件权限
1 | chmod u+x /root/run.sh |
7:保存容器到镜像
1 | 1:查看容器的id |
8:上传镜像到hub.docker.com,首先保证在hub上有一个相同名字的镜像地址,跟git类似。
1 | docker login |
好了,暂时照着这个操作就基本上可以了。 如果遇到问题可以给我留言,也可以联系我的邮箱:vbookchen@gmail.com