1 部署服务
docker run -d -p 80:80 docker/getting-started
其中参数含义:
- -d 表示后台运行
- -p 80:80 表示将宿主机的80端口映射到容器的80端口,即通过宿主机 ip:80 即可访问容器的 80端口起的服务
- docker/getting-started 是使用的镜像
执行结果如下:
[root@honghua-centos-01 ~]# docker run -d -p 80:80 docker/getting-started
Unable to find image 'docker/getting-started:latest' locally
latest: Pulling from docker/getting-started
97518928ae5f: Pull complete
a4e156412037: Pull complete
e0bae2ade5ec: Pull complete
3f3577460f48: Pull complete
e362c27513c3: Pull complete
a2402c2da473: Pull complete
eb65930377cd: Pull complete
69465e074227: Pull complete
Digest: sha256:86093b75a06bf74e3d2125edb77689c8eecf8ed0cb3946573a24a6f71e88cf80
Status: Downloaded newer image for docker/getting-started:latest
c1c8ce5316fdd93604360096d2f95c7a45fceca09a1b685d0a52b03b07977489
[root@honghua-centos-01 ~]#
2 浏览器打开页面
浏览器打开 http://192.168.8.104:80 其中192.168.8.104 为宿主机的ip地址,即通过宿主机的ip地址加80端口即可访问容器中的80端口起的服务了,结果如下:
3 更换一个端口再次部署
假如宿主机80端口已经被占用,那么此时可以更换一个端口,比如更换为3000端口,则只需要将命令中-p的参数修改一下即可,当然在部署了80端口的情况下,也是可以再部署一个3000端口的
docker run -d -p 3000:80 docker/getting-started
执行结果如下,可以发现此时执行很快,因为本地已经存在镜像了,所以此时无需再下载镜像了,因而运行起来特别快
[root@honghua-centos-01 ~]# docker run -d -p 3000:80 docker/getting-started
585e3e13c56d258a84d860a231aa0084b807b17f3284a696b114490bc6d27190
[root@honghua-centos-01 ~]#
再次打开浏览器,此时使用3000端口打卡,同样可以看到服务页面已经OK
4 清理环境
通过如下命令,可以查看到前面启动的两个容器
[root@honghua-centos-01 ~]# docker ps | grep getting-started
585e3e13c56d docker/getting-started "/docker-entrypoint.…" 3 minutes ago Up 3 minutes 0.0.0.0:3000->80/tcp, :::3000->80/tcp gallant_chaplygin
c1c8ce5316fd docker/getting-started "/docker-entrypoint.…" 12 minutes ago Up 12 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp vibrant_bardeen
[root@honghua-centos-01 ~]#
第一列即为容器的id,然后通过如下命令即可将容器删除
[root@honghua-centos-01 ~]# docker rm -f 585e3e13c56d c1c8ce5316fd
585e3e13c56d
c1c8ce5316fd
[root@honghua-centos-01 ~]#
再次查看容器,可以发现此时容器已经不存在了
[root@honghua-centos-01 ~]# docker ps | grep getting-started
[root@honghua-centos-01 ~]#