Docker Image 的釋出和 Container 埠對映

夢共裡醉發表於2021-04-07
在按照本文件的步驟操作前,需要安裝好 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 註冊一個帳號

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 埠對映的操作過程,希望能幫助到大家。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2766961/,如需轉載,請註明出處,否則將追究法律責任。

相關文章