Docker的基本使用命令

174 阅读2分钟

一、镜像相关命令

1. 拉取镜像(docker pull)

从Docker官方仓库或者指定仓库拉取镜像。

docker pull <image>

拉取最新版本的镜像。

本篇用nginx举例

docker pull nginx

2. 查看本地镜像(docker images)

列出本机已有的镜像。

docker images

输出示例:

REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    7e4d58f0e5f3    2 weeks ago   142MB

3. 删除本地镜像(docker rmi)

删除不需要的镜像。

docker rmi 镜像ID或镜像名

例如:

docker rmi nginx

如果镜像正在被容器使用,需要加-f强制删除。


二、容器相关命令

1. 创建并运行容器(docker run)

根据镜像启动一个新的容器。

docker run <image>

比如下面这个启动nginx容器

docker run -d \
  --name nginx-server \
  -p 8080:80 \
  -v /home/tommy/nginx/html:/usr/share/nginx/html \
  -v /home/tommy/nginx/conf.d:/etc/nginx/conf.d \
  -v /etc/localtime:/etc/localtime:ro \
  --restart unless-stopped \
  nginx

解释一下:

  • -d:后台运行容器
  • -p:端口映射(宿主机端口:容器内部端口)
  • -v:挂载宿主机的目录到容器内的目录,中间用:隔开
  • --name:给容器起一个名字(方便后续操作)
  • --restart unless-stopped:容器异常时重启
  • \:这个是为了美观,隔断每个小分支的命令

访问:http://localhost:8080 即可看到Nginx页面。


2. 查看运行中的容器(docker ps)

docker ps

列出当前正在运行的容器。

-a参数可以列出所有容器(包括停止的):

docker ps -a

3. 停止容器(docker stop)

停止一个正在运行的容器。

docker stop 容器ID或容器名

例如:

docker stop mynginx

4. 启动容器(docker start)

重新启动一个已停止的容器。

docker start 容器ID或容器名

5. 删除容器(docker rm)

删除不需要的容器。

docker rm 容器ID或容器名

可以一次删除多个容器:

docker rm 容器1 容器2

6. 查看容器日志(docker logs)

查看某个容器的标准输出日志。

docker logs 容器ID或容器名

比如查看Nginx的访问日志:

docker logs mynginx

7. 进入容器内部(docker exec)

在运行中的容器里执行命令。

docker exec -it 容器ID或容器名 bash

例如:

docker exec -it mynginx bash

这样就进入了容器内部,就像使用一台小型服务器。


三、容器与数据卷(Volumes)

1. 创建带数据卷挂载的容器

数据卷可以让容器和宿主机之间共享文件。

docker run -d -p 8080:80 -v /宿主机路径:/容器路径 nginx

例如:

docker run -d -p 8080:80 -v /home/user/html:/usr/share/nginx/html nginx

这样就可以直接在宿主机编辑网页,实时更新到容器内的Nginx服务器!