Docker 入门

Docker 入门

摘要

​ 这几天做到一道测试题,需要以使用docker为前提搭建一个程序的服务,然后经历了一大波周折,终于初入门槛。最坑的是刚开始想在windows上搞,但是rj校园网总是和虚拟发生网卡冲突,所以索性用双系统。然后最悲哀的是,装了linux,刚开始还好好的,隔天起床,系统似乎出了问题给炸穿了,重启之后系统一直引导不起了。最后格了硬盘,从新再来,前前后后在linux系统上花了20多个小时,还把之前windows硬盘的文件都给格了,在此感谢老铁->考拉小无。心疼自己。

系统环境

deepin 15.4

安装步骤

1、安装docker

sudo apt-get install docker.io

2、启动docker服务

sudo service docker restart

3、运行实例—hello world

刚开始会有一段信息,大概就是你的容器内没有这个应用,然后它会自动从网上pull(拉取)下来

出现以下截图,证明你的docker服务跑起来了

Docker 入门_第1张图片

当然,一开始忘了加上sudo,然后出现了 Cannot connect to the Docker daemon. Is the docker daemon running on this host?

部署服务器

这里主要装的是lamp的环境,用来跑php程序。刚开始的话使用的默认的hub上镜像,但对于我们国内的网速,等得头发都白了。之后就去找了国内的镜像。比如网易

速度确实飞一般感觉。说到这个,deepin的源也可用清华大学的源软件

然后说正事,拉取lamp镜像

sudo docker pull hub.c.163.com/public/lamp:latest

接着制定运行docker上的环境

sudo docker run -d -p 8080:80 -p 8888:3306 hub.c.163.com/public/lamp:latest

第一个-p制定映射宿主机访问端口8080到docker上的端口80,第二个为mysql的端口,作用类似

然后可以通过浏览器访问127.0.0.1:8080,出现

Docker 入门_第2张图片

或者通过终端的curl 127.0.0.1:8080 测试。

进入docker容器

我比较喜欢用docker exec -it 镜像id /bin/bash。其他用法参考百度。

然后将主机代码传送到docker 可以用 add 或者 cp 命令。

sudo docker cp /var/www/html/test.php  id:/var/www/

你可能在用到mysql函数,然后发现php文件无法执行。可以使用,这是在进入容器内执行的

apt-get install php5-mysql
或者
apt-get install php5-mysqli

当然,我做了这些之后还是没效果。然后整了好久,最后竟然是忘了重启Apache,之后就可以了,所以细节和重要。

你可能感兴趣的:(linux,docker)