容器基本操作

最简单的运行镜像为容器的命令如下:

  1. docker run --name container-name -d image-name

运行一个容器只要通过 docker run 命令即可实现,其中,—name 参数是为容器取得名称;-d表示 detached,意味着执行完这句命令后控制台将不会被阻碍,可继续输入命令操作;最后的 image-name 是要使用哪个镜像来运行容器。

我们来运行一个 Redis 容器:

  1. docker run --name test-redis -d redis

Docker 会为我们的容器生成唯一的标识。

容器列表

通过下面的命令,查看运行中的容器列表,如图所示。

  1. docker ps

image.png

其中 CONTAINER ID 是在启动的时候生成的 ID;IMAGE 是该容器使用的镜像;COMMAND 是容器启动时调用的命令;CREATED 是容器创建时间;STATUS 是当前容器的状态;PORTS 是容器系统所使用的端口号,Redis 默认使用 6379 端口;NAMES 是刚才给容器定义的名称。

通过下列命令可查看运行和停止状态的容器:

  1. docker ps -a

停止容器

停止容器通过下面的命令:

  1. docker stop container-name/container-id

我们可以通过容器名称或者容器 id 来停止容器,以停止上面的 Redis 容器为例:

  1. docker stop test-redis

此时运行中的容器列表为空。查看所有容器命令,可看出此时的 STATUS 为退出。

image.png

启动容器

启动容器通过下面命令:

  1. docker start container-name/container-id

再次启动我们刚才停止的容器:

  1. docker start test-redis

此时查看容器里列表如图所示。

image.png

端口映射

Docker 容器中运行的软件所使用的的端口,在本机和本机的局域网是不能访问的,所以我们需要将 Docker 容器中的端口映射到当前主机的端口上,这样我们在本机和本机所在的局域网中就能访问该软件了。
Docker 的端口映射是通过一个 -p 参数来实现的。我们以刚才的 Redis 为例,映射容器的 6379 端口到本机的 6378 端口,命令如下:

  1. docker run -d -p 6378:6379 --name port-redis redis

删除容器

删除单个容器,可通过下面的命令:

  1. docker rm container-id

删除所有容器,可通过下面的命令:

  1. docker rm $(docker ps -a -q)

容器日志

查看当前容器日志,可通过下面的命令:

  1. docker logs container-name/contailer-id

我们查看上面 Redis 容器的日志,命令如下:

  1. docker logs test-redis

登录容器

运行中的容器其实是一个功能完备的 Linux 操作系统,所以我们可以像常规的系统一样登录并访问容器。
我们使用下面命令,登录访问当前容器,登录后我们可以在容器中进行常规的 Linux 系统操作命令,还可以使用 exit 命令退出登录。

  1. docker exec -it container-id/container-name bash