docker入门+结合微服务实战(四)

介绍

容器是docker的另一个核心概念

简单的来说,容器是镜像的一个运行实例,所不同的是它有额外的可写文件层。

如果认为虚拟机是模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用。那么docker容器就是独立运行的一个或一组应用,以及它们的必须运行环境。

查看容器列表

通过docker ps命令查看正在运行的容器列表,需要查询所有的容器需要加-a参数:

查询正在运行的容器:docker ps

查询所有容器 docker ps -a

创建容器

通过docker create 命令可以创建一个容器,这仅仅是创建,并没有启动容器。

用法: docker create --help

运行后显示的重要点意思如下

-i, --interactive Keep STDIN open even if not attached 打开容器的标准输入

–name string Assign a name to the container 指定容器的名称

-p, --publish value Publish a container’s port(s) to the host (default [])
指定端口,如:docker create -p 16399:6379 redis:3.0,其中16379是主机端口,6379是容器对外端口,二者对应起来

-t, --tty Allocate a pseudo-TTY 让Docke分配一个伪端(pseudo-tt)并绑定到容器的标准输入上

实战:

docker create -p 16379:6379 --name redis redis:3.0

查看容器列表:

docker ps -a

启动容器:

docker start 34(34是代表指定容器的id,输入前几位即可)

创建并且运行容器
上面通过docker create创建了容器,然后通过docker start来启动容器,其实这种做法并不常用。

更常用的是docker run命令,这个命令的意思是创建并且启动容器。

用法:创建并且运行一个redis容器,它的端口是16380。

那么命令就是

docker run -p 16380:6379 --name redis2 redis:3.0

输入命令后发现,这个容器已经创建并且运行,但是,它并没有在后台运行,当按下 control + c时,该容器将停止。
为了让容器在后台运行,需要添加参数 -d。

docker run -p 16380:6379 -d --name redis2 redis:3.0

报错说这个容器已经存在 所以我们要给他重命名

docker run -p 16380:6379 -d --name redis3 redis:3.0

测试结果显示,该容器可用。

接下来,我看下当前运行的容器:

目录中有三个容器,redis,redis3正在运行,redis2退出运行。

那么问题来了,redis2这个容器我不想要了,怎么删除?答

docker rm dc5b5c31b22a(dc5b5c**31b22a是这个容器的id)

启动/停止容器
启动容器:

docker start xxx(id或者容器名)

停止容器

docker stop xxx(容器名或容器id)

删除容器
通过命令docker rm 删除容器,删除正在运行的容器添加 -f 参数。

  docker rm xxx(容器id或者容器名)

进入容器
有些时候我们需要进入容器内,做一些操作,比如,修改配置文件等。

进入容器命令。

docker exec

用法:

docker exec -it redis /bin/bash

如果出现错误并且code=2的话,docker版本问题

posted @ 2019-01-16 17:14  IT晓白  阅读(263)  评论(0编辑  收藏  举报