一、安装 nginx:精简版镜像
1. 查找有什么类型的 nginx 镜像
yammie@my-pc >/home/yammie
$ docker search nginx
2. 下载精简版 nginx 镜像
yammie@my-pc >/opt
$ docker pull nginx:alpine
alpine: Pulling from library/nginx
46b060cc2620: Already exists
21af147d2ad5: Pull complete
b3ee43e51ca6: Pull complete
b17a9d410da1: Pull complete
542e3e75411d: Pull complete2b2faad386df: Pull complete
a5e22afba545: Pull complete
fb923a41dc10: Pull complete
Digest:
sha256:208b70eefac13ee9be00e486f79c695b15cef861c680527171a27d253d834be9
Status: Downloaded newer image for nginx:alpine
docker.io/library/nginx:alpine
3. 查看已经下载的镜像
yammie@my-pc >/opt
$ docker images
可见nginx:alpine 精简版镜像已经下载了。
4. 创建并运行 nginx 容器,命名容器为 nginx01,将自己的 3344 端口映射到宿主机的 80 端口,使用 nginx:alpine 镜像
yammie@my-pc >/opt
|
(1) --name [你要设置的容器名字]
(2) -p 主机端口:容器端口
(3) REPOSITORY:TAG (镜像仓库名:标签)
问题 1:当该容器被关闭,还能运行上述命令开启 nginx01 容器吗?
不行。由于对 nginx01 的容器命名已经生效,如果该容器已经关闭,要重新启动该容器时,直接运行名称为 nginx01 的容器即可。(-d 在后台运行)。若运行上述命令,会报错: nginx01 已经创建。正确示例:
$ docker run -d -p 3344:80 nginx01
问题 2:如果报错:3344 端口被占用,需要杀死 3344 端口号对应的 PID吗?
① 查看 3344 端口被哪个进程占用了
$ netstat -tanlp
② 杀死 3344 端口号对应的 PID
$ kill <PID>值
③ 由于前面对 nginx01 的命名已经生效,所以此处直接运行名称为 nginx01 的容器。(-d 在后台运行)
$ docker run -d -p 3344:80 nginx01
5. 查看正在运行的 nginx01 容器的详细信息
yammie@my-pc >/opt
$ docker ps
6. 在网页访问 3344 端口
http://localhost:3344/
二、先卸载容器,再卸载镜像
1. 查看正在运行的 nginx01 容器,复制 CONTAINER ID
yammie@my-pc >/opt
$ docker ps
2. 强制卸载正在运行的 nginx01 容器
yammie@my-pc >/opt
$ docker rm -f a130463f10f3
a130463f10f3
3. 查看已经安装的镜像,复制 nginx:alpine 镜像的 id,并删除 nginx:alpine 镜像
yammie@my-pc >/opt
$ docker image ls
yammie@my-pc >/opt
$ docker image rm 1ae23480369f
4. 再次查看安装的镜像
yammie@my-pc >/opt
$ docker images