30分钟带你了解Docker(推荐)

2020-06-17 06:53:27易采站长站整理

6. 运行Hello World

$ sudo docker run hello-world

7. 配置国内的镜像加速

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://57326c54.m.daocloud.io

二、操作指南

网上有关docker的命令有很多,详细的说明各位可以去更权威的地方查阅。这里我只列举几条最重要的命令并加以说明:

1. 查阅镜像列表:docker images

你应该不会有这么多镜像,但是至少应该存在一条hello-world。没错这就是你刚刚下载的测试镜像。

2. 查阅容器列表:docker ps -a

你应该也只会看到一条hello-world的容器。

这里我们已经接触到了有关docker的第一个重要概念:镜像和容器。不过暂时我还不打算对这两个概念加以说明,我们可以反复运行

$ sudo docker run hello-world

然后再查看容器列表:

没错,你现在发现多次运行同一个镜像只会发生一次镜像下载,但是却会出现多个容器。更准确的说,你运行了几次hello-world就会生成几个容器。

3. 停止和删除容器:

docker stop/rm [container_id]

我们删除掉所有hello-world容器,瞬间整个世界变的美好了。

4. 删除镜像:

docker rmi [image_id]

我们删除掉hello-world镜像,世界终于又归于寂静。

有了感性认识以后,现在可以说明镜像和容器的概念:

镜像就好像是iso文件,docker需要使用镜像作为源。一个镜像可以反复被使用,而每次当docker通过镜像启动起来的就是一个容器,容器之间相互隔离。如果容器被删除了,在容器中的所有改变都会丢失。

用一张最经典的图来表示镜像与容器的关系:

没错,一个完整的docker项目就应该是这样,在本地系统(boosfs)之上可能存在多个镜像(image)它们之间存在继承关系,而最上层处于运行环境的就是容器(container)。所有的修改操作都只在容器中。如果容器被关闭数据会发生丢失,除非你将容器刻录为新的镜像层。不过我们还有别的更好的手段将数据保存下来,但不在我们今天的讨论中。

5. 获取镜像:docker pull [image_name]

**********************************************

请确认你已经配置了国内的镜像加速:

vim /etc/docker/daemon.json