首先安装docker
安装成功后:输入docker
就会有有反应:
查看本机docker内所有镜像:docker images
如果没装过,安装镜像:
docker search nginx
搜索nginx的镜像
docker pull nginx:latest
安装最新的nginx镜像
启动镜像:docker run --name nginx-test -p 8080:80 -d nginx
nginx默认端口是80,这里-p 8080:80
参数是将容器内nginx的80端口映射到本机的8080端口,并指定容器名字--name <name>
。
如何修改容器内的配置:
首先查看当前容器的唯一标识,这个之后会用到。镜像一经运行就成为一个容器,查看所有的容器docker ps -a
,得到容器id。
进入容器查看容器内目录结构,决定修改哪个文件:
docker exec -it 5d0389c13c50 /bin/bash
执行后命令行进入容器,并且可以用命令行操作,类似进入了一个另一个linux终端 ,想退出可以输出
exit
退出:进入容器
可惜我没发现直接修改容器里面文件的方法(不支持vim)。只能通过cp,先从容器内cp到本机,然后在本机修改再cp到容器,命令如下
docker cp <containnerId>:DIR DIR
,或者docker cp DIR <containnerId>:DIR
。然后修改后 重启容器
docker restart <containerId>
,如果想关掉再起来:
docker stop <containerId>
,docker start <containerId>
。如果想保存本次对容器的修改为一个新的镜像:
docker commit 5d0389c13c50 xuecm-nginx:v1.0
再次查看自己的镜像:
修改并保存为一个新的镜像
。
从外网可以访问到我刚才启动的nginx
image.png
最后来说一说我对docker的理解,他首先和vmware一样是一种虚拟化技术,比较好的地方是他像github一样 有自己的dockerhub(用法也很类似),用户可以把自己的镜像传到网上,方便在云端保存,同时自己如有需要搭建自己别人的镜像,也只需要pull一个镜像下来,无需繁琐的查找和下载。长久下去这肯定会形成一个良好的社区生态(实际上现在已经是了),关于他和vmware本质上的区别我并不清楚,就使用来看,如果启动一个容器,就好像启动了一个搭载了所需应用程序的轻量级的操作系统。
网友评论