一、镜像相关命令
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服务器!