管理docker容器

上一篇介绍了安装和启动一个容器,并通过端口绑定成功访问到启动的nginx服务。
然而围住一想,还是什么也做不了:
1.nginx的根目录在哪,我们怎么更改它,怎么让它访问我们想它它访问的文件?
2.nginx的配置文件在哪。怎么加一个服务?或者怎么修改配置文件?

带着这些疑问往下说

一,绑定本地目录到容器目录
和绑定端口一样,子可以绑定本地的目录到容器中,这样可以在本地编辑文件,通过容器中的服务来访问。
首先把昨天创建的容器删除

重新生成并启动容器

通过-v命令,可以把本地的目录绑定到容器中,上面命令是把本地的 /web目录绑定到/var/www/html。
为什么要绑定到/var/www/html目录,好吧,后台看配置文件的时候会看到,当然可以绑定到别的目录,到时候改nginx的配置文件即可。

通过绑定后,就可以在你本地 /web下加任务你想加html文件,就可以通过浏览器访问了。就和编辑你本地的服务器文件一样。

二,登录到容器
运行起来的nginx容器,其它就是一个linux系统,当然也可以登录上去。
通过命令

就可以登录到正在运行的webserver容器了。命令行也已经切换到了容器里面。
-u 是指定登录的用户名
webserver 是当前运行的容器实例
bash 是登录上去运行的命令

登录上去后,这就是一个linux系统,可以查看系统信息

可以

还可以

不过安装软件前先apt-get update

当然也可以登录上去后运行任何命令,比如 ls 命令

这条命令的意思是登录到webserver容器上执行 ls 命令,执行完后就退出了

三,修改容器上的文件
1,直接在服务器上修改
既然已经登录到容器上了,就像使用linux系统一样,怎么改都可以。
但当你很高兴地打出vi /etc/nginx/nginx.conf的时候,会发现

啥?vi都没有,是的,vi也没有,这是一个相当干净的系统。
你只有自己装个vim再修改

安装完成后就可以用vi /etc/nginx/nginx.conf来修改配置文件了

2.在本地和容器间拷贝文件

docker的拷贝命令

这个命令和scp命令有点像

现在拷贝webserver容器中的/etc/nginx/nginx.conf文件 到当前目录

拷贝下来后,在你本地修改这个配置文件

修改完成后,再拷贝到容器中
拷贝当前目录下的nginx.conf文件到web容器的/etc/nginx/目录下

同理也可以用这种方式修改其它的文件和文件夹

好了,有时候光有了nginx还不行,还需要php,mysql等等。
下一篇打算写写如何打造真正的开发环境