快速熟悉docker常用命令(实例:创建nginx容器)
docker主要的3个概念:镜像(image)+容器(container)+仓库(repository)
- docker镜像:概念类似虚拟机的镜像,可以用来创建新的容器。
- docker仓库:docker仓库概念和git类似。docker仓库是用来包含镜像的位置。
- docker容器:是由docker镜像创建的运行实例。docker容器类似虚拟机,可以执行包含启动,停止,删除等。每个容器间是相互隔离的。容器中会运行特定的运用,包含特定应用的代码及所需的依赖文件。可以把容器看作一个简易版的linux环境(包含root用户权限,进程空间,用户空间和网络空间等)和运行在其中的应用程序。
它们之间的关系可以参照下图:

我们在这个过程中熟悉经常使用的命令。
Docker 镜像和容器
- 镜像查询:
- docker hub镜像查询:https://hub.docker.com/search

2、docker search查询
我们也可以使用docker search:<镜像名称> 的方式来搜索镜像,但这种方式无法查询镜像tags,所以建议使用第一种。

各个选项说明:
- NAME: 镜像仓库源的名称
- DESCRIPTION: 镜像的描述
- OFFICIAL: 是否 docker 官方发布
- stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
- AUTOMATED: 自动构建。
拉取镜像(nginx 为例)
- 拉取nginx镜像到本地
docker pull <镜像名称>:<镜像tags>,如果不加tags,默认拉取最新镜像(latest)。
docker pull nginx:latest直接执行命令报错:
Got permission denied while trying to connect to the Docker daemon socket ….: connect: permission denied我们使用su root 命令切换到root用户,再次执行命令即可。

使用docker images 命令即可查看已经拥有的镜像。

各个选项说明:
- REPOSITORY:表示镜像的仓库源
- TAG:镜像的标签
- IMAGE ID:镜像ID
- CREATED:镜像创建时间
- SIZE:镜像大小
删除镜像
docker rmi <镜像名称>:<镜像tags>,如果不加tags,默认删除最新镜像(latest)。
docker rmi nginx:latest创建容器
使用镜像创建一个 nginx容器
- 创建挂载目录
mkdir -p /usr/local/nginx/{conf,html,logs}- 创建nginx.conf 配置文件
在/usr/local/nginx/conf下创建nginx.conf文件,作为外置配置文件使用。这样我们就可以很方便的配置nginx。
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}在/usr/local/nginx/html目录下新建index.html,这个文件作为容器外部数据卷,替换默认首页。关于数据卷的概念,我们后期文章专门介绍。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Docker Nginx</title>
</head>
<body>
<h1>Docker Nginx</h1>
<p> Hello, Nginx.</p>
</body>
</html>- 执行容器创建命令
docker run -d -p 80:80 --name nginx80 --restart=always -v /usr/local/nginx/html:/usr/share/nginx/html -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/logs/:/var/log/nginx nginx:latest如果返回一长串字符即为成功。使用docker ps 即可看到已启动容器列表:

参数说明:
- -d 后台运行
- -p 设置端口映射 宿主机端口:容器端口
- --name 设置容器别名
- --restart=always 设置容器开机启动
- -v 数据卷映射 宿主机目录:容器目录。这样方便我们管理容器配置文件及日志文件
最后加上nginx:latest,表示我们是以nginx:latest为模板创建的。
- 浏览器访问
浏览器访问 http://192.168.85.128/ ,192.168.85.128是我虚拟机的端口。

这样我们就使用docker创建好了一个 nginx。
学然后知不足,教然后知困。知不足,然后能自反也;知困,然后能自强也。
相关推荐
-
「nginx」十、nginx的location配置详解2026-07-04 00:51:45 -

最清晰的mysql体系架构图 ,助你深度掌握MySQL开发管理,赢在大数据时代
最清晰的mysql体系架构图 ,助你深度掌握MySQL开发管理,赢在大数据时代2026-07-04 00:21:47 -
PHP读取Excel内的图片2026-07-03 00:07:41 -
mysql:Otter跨机房数据同步(单向)2026-07-03 00:02:48 -

在windows10系统下搭建IIS+PHP+MYSQL+phpMyAdmin服务器运行环境
在windows10系统下搭建IIS+PHP+MYSQL+phpMyAdmin服务器运行环境2026-07-02 00:15:08