去年暑假安保的时候大致过了一遍Docker的概念和命令,因为去年的校赛运维是我做的,当时想做Docker虚拟化的,但是后来比较懒,一拖就忘了,现在打算重拾这玩意儿,希望到今年的校赛的时候能帮上师弟点忙。
Docker简介
- Docker是开源的容器虚拟化平台
- Docker Hub:用于管理Docker容器(类似于Gitub),反正都是程序员的天堂。
1.1 Docker守护进程
其实对于我们这种应用型的需求,貌似并不需要去理解Docker守护进程这种概念,或许以后会。
1.2 Docker客户端
说直白点就是一个通过守护进程和容器通信的工具。
1.3 Docker内部
跳过跳过
就是三部分 镜像(images)、仓库(registeries)、容器(containers)
- 镜像是静态的,嗯……就是打包好的东西。
- 容器是动态的,大多数时候,使用Docker都会保持容器的运行,
- 仓库就是你藏镜像的地方
真正的知识
2.1 安装
Centos:
# yum -y install docker
即可
2.2 使用
搜索lamp镜像
dokcer search lamp
pull镜像到本地
docker pull tutum/lamp
创建自己的应用
mkdir web1
cd web1
touch Dockerfile
vim Dockerfile
Dockerfile范例
From tutum/lamp
Run rm -rf /app
Run mkdir app
ADD 本地文件 /app/
Expose 80 3306
CMD ["./run.sh"]
最后生成自己的镜像
docker build -t bertram/web1
运行容器
dockeer run -d -p 80:80 -p 3306:3306 bertram/web1
数据库访问
docker logs <容器ID>
mysql -uadmin -p2Ijg6gvmM0N3 -h<host> -P<port>
这个admin
帐号的密码是随机生成的且权限与root一样
然后就能干羞羞的事了