资料来源:b站https://www.bilibili.com/video/av58402749?from=search&seid=8338831688956664857

 

一、先注册docker id

https://blog.csdn.net/debugbugbg/article/details/81865553

二、以docker id登陆docker playground

https://labs.play-with-docker.com

三、开始一个实例

 在docker playground中点击新加一个实例,输入docker pull nginx或docker pull nginx:latest

 再输入docker run -d -p 81:80 nginx ,  表示启动一个nginx,外部端口81,内部端口80,-d表示后台运行,-p表示参数,后面跟的第一个数表示外部端口,第二个数表示内部端口,nginx表示镜像的名称。 此时会出现一串码表示开启的这个nginx的标识,并且上方会出现一个81端口字样的按钮,点击即可自动打开 nginx欢迎页面。

运行docker exec -it xxx bash ,xxx表示容器id的前几位,进入一个特定的nginx容器,这时候运行 cd /usr/share/nginx/html回车,更改index.html文件的内容,echo hello nginx > index.html回车,输入exit退出。这时候点击页面上方的81端口,发现打开的网页从nginx欢迎界面变为hello nginx这句话了(若还是欢迎界面,应该是有缓存,多刷新几次)。我们如果将目前已经更改的这个容器保存为一个镜像,那么通过docker commit xxx myname  可以把一个xxx(上面说到的一串码的前几位,前两位或者前三位都行,只要能和其他的码区分开就行)容器保存为一个名为myname的新的镜像,名字可以自己取。此时执行docker images发现多了一个名为myname的镜像。这时候运行docker run -d -p 90:80 myname就可以对myname这个新的镜像启动一个容器,界面上会出现一个90端口按钮,点击后打开就会显示hello nginx字样。

用docker ps 查看当前所有容器,docker images 查看当前所有镜像。docker -rm -f xxx删除一个容器(xxx表示容器编号的前两位或三位)。docker rmi myname删除名为myname的镜像

容器和镜像有什么关系呢?镜像是死的,好比是光盘。容器说的是被启动的光盘实例,一个光盘可以同时启动多个。如下图,有三个光盘(images),但是其中的一个光盘有两个实例在运行(两个容器在运行,即anewday镜像的两个容器),还有一个光盘也有两个实例在运行(即nginx镜像的两个容器)。

Docker初识及简单使用

这时候如果我们运行docker run -d -p 82:80 myname回车(意思是运行myname这个镜像),会看到界面上方出现了一个82端口按钮,按一下就发现,它展示的内容是hello nginx,运行docker run -d -p 84:80 myname回车,选择或者输入端口84,也会看到hello nginx的网页。

四、以docker file方式创建镜像

 第三步我们以提交容器的方式创建了镜像,现在看看如何以dockerfile的方式创建镜像。

首先,如下图所示,输入vim Dockerfiele,创建Dockerfile。(即在root路径下创建一个Dockerfile,~表示当前用户目录,即root目录)

Docker初识及简单使用

在Dockerfile中输入以下内容:

Docker初识及简单使用

然后新建一个index.html,如下图所示:

Docker初识及简单使用

再index.html中写入内容如下图:

Docker初识及简单使用

然后输入docker build -t testname .  回车,注意不要忘记输入test后面的点,表示对当前目录下的dockerfile进行构建,构建一个新镜像,镜像的名字为testname。这时候输入docker images可以看到多了一个testname的名字。这时候可以运行 docker run -d -p 100:80 testname,回车后,点击页面上方新增的100端口按钮,可以看到一段文字,这段文字就是刚输入的index.html上的文字,即i want to tell you a story but i dont know how to say.

五、将一个镜像保存为tar

输入docker save testname > 1.tar回车,即可把testname这个镜像保存为1.tar这个文件,注意testname是镜像名字,不是镜像id的前几位。

 

 

相关文章:

  • 2021-07-30
  • 2021-06-07
  • 2021-07-16
  • 2021-06-04
  • 2022-12-23
猜你喜欢
  • 2021-05-25
  • 2021-05-21
  • 2022-12-23
  • 2021-11-20
  • 2022-12-23
  • 2022-12-23
  • 2022-03-02
相关资源
相似解决方案