Docker Image 的发布和 Container 端口映射

Docker镜像发布与容器端口映射
本文详细介绍了如何使用Docker进行镜像的本地保存与恢复,以及如何将镜像推送到Docker Hub。同时,还讲解了容器端口映射的方法,包括如何将容器的80端口映射到物理机的80端口,以便通过浏览器访问。
导读在按照本文档的步骤操作前,需要安装好 Docker

Docker Image 的发布

方法1:保存 Image 到 tar 包

语法:docker save -o 导出的镜像名.tar 本地镜像名:镜像标签

[root@Docker docker-build]# docker save -o centos-httpd-docker-image.tar centos:httpd
[root@Docker docker-build]# ll -h
total 275M
-rw-r--r--. 1 root root  154 May 17 23:19 Dockerfile
-rw-------. 1 root root 275M May 17 23:37 centos-httpd-docker-image.tar
-rw-r--r--. 1 root root   37 May 17 23:27 index.html
-rwxr-xr-x. 1 root root   29 May 17 23:25 start.sh

使用导入本地镜像

[root@Docker docker-build]# docker rmi -f centos:httpd #删除镜像,这里写自己镜像的 ID 或名称
[root@Docker docker-build]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              apache              b8822ec8a7bb        27 minutes ago      280MB
centos              latest              470671670cac        4 months ago        237MB
[root@Docker docker-build]# docker load -i centos-httpd-docker-image.tar
Loaded image: centos:httpd
[root@Docker docker-build]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              httpd               85b4a3657ced        8 minutes ago       280MB
centos              apache              b8822ec8a7bb        29 minutes ago      280MB
centos              latest              470671670cac        4 months ago        237MB

方法 2:Push Image To Docker Hub 发布到外网

1、Signup on docker hub & create repo 注册一个帐号
https://hub.docker.com/
2、Login to docker hub
# docker login -u userabc -p abc123 -e jaking@gmail.com
3、Push image to docker hub #上传镜像
# docker push centos:httpd
4、Pull image from docker hub #下载镜像
# docker pull userabc/centos:httpd # 用户名/镜像名

Container 容器端口映射

实战:Container 端口映射

启动 container

[root@Docker ~]# docker run -d -p 80:80 centos:httpd /bin/bash -c /usr/local/bin/start.sh
cf183879c15bd06523ecb6b5e19aec561d679fa5f3bd1842cb2d2994f0d79b04

注: -p 物理机的 80 端口:容器实例的 80 端口 ,把容器中的 80 端口映射到物理机上的 80 端口

另一种启动方式

[root@Docker ~]# cd /docker-build
[root@Docker docker-build]# docker run -d -p 80:80 centos:httpd /bin/bash -c start.sh

在物理机上查看容易状态

[root@Docker ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
cf183879c15b        centos:httpd        "/bin/bash -c /usr/l…"   24 seconds ago      Up 23 seconds       0.0.0.0:80->80/tcp   happy_mahavira

查看物理机上开启的 80 代理端口

[root@Docker ~]# netstat -pantu | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      10870/docker-proxy  
udp6       0      0 fe80::c43:91ff:fe1a:123 :::*                                7829/ntpd           
udp6       0      0 fe80::42:deff:fe9c::123 :::*                                7829/ntpd           
udp6       0      0 fe80::250:56ff:fe35:123 :::*                                7829/ntpd      

测试

在浏览器输入 http://192.168.10.7
Docker Image 的发布和 Container 端口映射Docker Image 的发布和 Container 端口映射

总结

以上就是 Docker Image 的发布和 Container 端口映射的操作过程,希望能帮助到大家。Linux就该这么学

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值