一、安装 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

三、Docker 镜像与容器命令
1. 下载镜像和创建+运行容器

2. 先删除正在运行的容器,才能删除镜像

3. 删除镜像
















![[GYCTF2020]FlaskApp1](https://i-blog.csdnimg.cn/direct/ad3b5ff8ed3641e6b653ed4d302ee6fc.png)


