Docker 系列二——常用命令及参数
一、Docker 镜像命令
Docker 的镜像一般都放在 Docker 官网的 Docker Hub 上,地址是:https://hub.docker.com 。
1. Docker 镜像检索
除了可以在 https://hub.docker.com 网站检索镜像外,还可以用下面命令检索:
docker search 镜像名
# 如检索 Redis,输入:
docker search redis
2. 镜像下载
下载镜像通过下面命令实现:
docker pull 镜像名
# 如下载 Redis 镜像,输入:
docker pull redis
3. 镜像列表
查看本地镜像列表,通过下面命令:
docker images
镜像列表
其中,REPOSITORY 代表镜像名,TAG 代表软件版本,IMAGE ID 代表当前镜像的唯一标识;CREATED 代表当前镜像创建时间;SIZE 代表当前镜像大小。
4. 镜像删除
# 删除指定镜像通过下面命令
docker rmi image-id
# 删除所有镜像通过下面命令
docker rmi $(docker images -q)
二、Docker 容器命令
1. 容器基本操作
最简单的运行镜像为容器的命令如下:
docker run --name container-name -d image-name
运行一个容器只要通过 Docker run 命令即可实现,其中,--name 参数是为容器取得名称;-d 表示 detached,意味着执行完这句命令后控制台将不会被阻碍,可继续输入命令操作;最后的 image-name 是要使用哪个镜像来运行容器。
运行 redis 容器命令如下:
docker run --name test-redis -d redis
Docker 会为容器生成唯一的标识。
2. 容器列表
通过下面命令,查看运行中的容器列表:
docker ps
容器列表
其中,CONTAINER ID 是在启动的时候生成的 ID;IMAGE 是该容器使用的镜像;COMMAND 是容器启动时调用的命令;CREATED 是容器创建时间;STATUS 是当前容器的状态;PORTS 是容器系统使用的版本号;NAMES 是刚才给容器定义的名称。
通过下列命令可查看运行和停止状态的容器:
docker ps -a
3. 停止容器
停止容器通过下面的命令:
docker stop container-name / container-id
可以通过容器名称或容器 ID 来停止容器,以停止上面的 Redis 容器为例:
docker stop test-redis
此时运行中的容器列表为空。查看所有容器命令,可以看到此时的 STATUS 为退出。
4. 启动容器
启动容器通过下面命令:
docker start container-name / container-id
再次启动刚才停止的容器:
docker start test-redis
5. 端口映射
Docker 容器中运行的软件所使用的端口,在本机和本机的局域网是不能访问的,所以我们需要将 Docker 容器中的端口映射到当前主机的端口上,这样我们在本机和本机所在的局域网就能够访问该软件了。
Docker 的端口映射是通过一个 -p 参数来实现的。以刚才的 Redis 为例,映射容器的 6379 端口到本机的 6378 端口,命令如下:
docker run -d -p 6378:6379 --name port-redis redis
6. 删除容器
删除单个容器,可通过下面的命令:
docker rm container-id
删除所有容器,可通过下面的命令:
docker rm $(docker ps -a -q)
7. 容器日志
查看当前容器日志,可通过下面的命令:
docker logs container-name / container-id
查看下上面一个容器的日志,命令如下:
docker logs port-redis
容器日志
8. 登录容器
运行中的容器其实是一个功能完备的 Linux 操作系统,所以我们可以像常规的系统一样登录并访问容器。
我们可以使用下面命令,登录访问当前容器,登录后我们可以在容器中进行常规的 Linux 系统操作命令,还可以使用 exit 命令退出登录。
docker exec -it container-id / container-name bash