简单描述docker
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
Docker 支持跨平台可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker 一键部署的环境文件不仅小,大概只有几百兆。而且最厉害的是部署的网站环境,即使网站存在漏洞,被恶意拿到权限,因为docker这种沙箱机制,也不会被拿到服务器主机权限。
$sudo apt install docker.io
切换到root用户下使用docker
service docker start
docker searche lamp
docker pull tutum/lamp
docker images
映射docker80端口到本地启动,进入docker bash环境下
docker run -i -t -p 80:80 tutum/lamp /bin/bash
首先要执行run.sh,初始化数据库,默认数据库root是没有密码的,给了一个admin账户及一个随机密码,这里不使用admin账户,如果root用户进不去,先使用admin进去一次退出就行。
进入mysql设置root密码。
mysql -uroot -p
回车,设置密码为123456。
set password for root@localhost = password('123456');
给root账户权限。
删除admin账户。
drop user admin@'%';
退出mysql
exit;
使用ctrl+p,ctrl+q退出docker的 bash 让docker在后台运行。
docker ps
使用docker cp上传本地源码到docke容器根目录下。
docker cp jddvwa 1967d9fb88f4:/
docker cp 、attach 后面的参数是容器id,不是镜像名,每次启动id都是不同的,如果每次启动docker镜像后都有修改,退出时记得一定要保存镜像,或者后台,否则直接退出docker上次的操作就没有了。
docker attach 1967d9fb88f4
cd /var/www/html rm -rf ./*
cd /jddvwa cp -r ./* /var/www/html
使用ctrl+p,ctrl+q退出docker的 bash 让后台在后台运行。
docker commit -m"aparke.cn" -a"zhaokaifei" 1967d9fb88f4 jddvwa
由上图可以看出docker下的Ubuntu环境搭打网站只有444mb。
docker export 1967d9fb88f4 >jddvwa_docker.tar
docker import jddvwa_docker.tar aparke/jddvwa
停止之前启动的docker
docker stop 1967d9fb88f4
docker run -i -t -p 80:80 aparke/jddvwa /bin/bash
mysql_install_db
参考上面的重新设置root密码。
或者自己去重新装一个mysql解决此问题。
还没有评论,来说两句吧...