我在网上看教程的时候,使用docker开启一个容器用的是run命令,这里有一个小坑。
比如我用run开启了一个mysql,然后下次还用run开启的话,实际上会生成两个mysql容器。
正确的做法是第一次run了以后,使用 docker container stop <NAMES> 来停止容器。
下面我做一个详细的演示。
创建一个容器
首先是创建容器
我们可以用
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
来创建一个容器,这里面可以使用 --name 来指定容器的名字,如果不指定的话系统会自动生成一个名字。
我们可以使用
docker ps -a
来查看所有已经创建的容器,当我们要操作某一个容器的时候,可以使用NAMES属性来指定。
容器的停止和开始
我们可以使用
docker ps
命令来查看正在运行中的容器,使用
docker ps -a
的话是查看所有已经创建的容器。
当我们想要停止一个容器,可以使用
docker container stop <NAMES>
或者
docker container stop <CONTAINER ID>
上面的两种方式都是等价的
当我们想要开启一个容器的时候可以使用
docker container start <NAMES>
或者
docker container start <CONTAINER ID>
上面的两种方式同样是等价的。
删除已经创建的容器
我们可以使用
docker container rm <NAMES>
后者
docker container rm <CONTAINER ID>
来删除某个已经创建的容器
从上面的例子中可以看出来,我们不能删除正在运行中的容器,只有将容器停止后,才能删除。
总结
从上面的例子中可以看出来,docker真的非常方便,我们可以用一个mysql镜像生成很多个相互独立的容器,也就是说,使用docker可以在单机搭建一个mysql集群。使用这种方法,可以将计算资源虚拟化,比如我一台物理机可以使用docker开很多个mysql容器,然后不同的mysql数据库给不同的系统使用,相互之间彼此独立,docker真的非常有用。