day101 docker容器使用和镜像推送

day101 docker容器使用和镜像推送

# 在容器里打开nginx ,并且访问
容器内的地址是 172.17.0.2  ---用ifconfig 命令查看

# 宿主机和容器进行通信
看到403发现权限不足

cd /usr/share/nginx/html

# 把它自带的都删掉,创建一个index.html 的文件

到此就创建了一个携带 vim net-tools nginx的容器

[root@docker-100 docker]# curl  172.17.0.2

good good study
day day up
[root@docker-100 docker]# 

我们测试了具体也可以访问了
只要容器记录还在,数据就不会丢。


# 提交容器记录,生成新的镜像记录。

docker commit 命令

# 提交容器记录,生成新的镜像记录
docker commit 42692f009ec0 nginx_net-tools

[root@docker-100 ~]# docker commit 42692f009ec0 nginx_net-tools
sha256:ad965313cc19555f900f9a5447859c2ba0b6aa3425eee19714277fe8716aea90


# 2.查看新的镜像的记录
[root@docker-100 ~]# docker images nginx_net-tools
REPOSITORY        TAG       IMAGE ID       CREATED              SIZE
nginx_net-tools   latest    ad965313cc19   About a minute ago   592MB
[root@docker-100 ~]# 



# 3,基于这个镜像去运行一个nginx程序
方式1 先进入这个容器运行一个nginx.
方式2 直接运行这个nginx

手工前台运行

docker run -it nginx_net-tools  bash 

[root@docker-100 ~]# docker run -it nginx_net-tools  bash 

#前台运行
nginx -g "daemon off;"


# 进入一个容器内且执行bash,开启bash交互式的环境。
docker exec -it 容器记录id bash


基于自定义的镜像,nginx + vim +netools
运行容器,在容器内运行一个前台运行的nginx,并且可以访问了,看到我们提交的数据,
good good study

直接在宿主机上启动nginx(重要)

docker run -d -p 80:80 nginx_net-tools nginx -g "daemon off;"

查看自定义的镜像,运行后容器的内容,以及端口映射的结果

构建一个镜像,可以发布多个环境看到day day up

在本地多次的运行
# -p  (小写) 端口的映射关系, 宿主机: 肉体年起内暴露的端口
# -P  (大写) 随机给宿主机暴露一个端口,且要求容器默认声明自己打开了什么端口。


1.先清空机器上的记录
[root@docker-100 ~]# docker stop `docker ps -aq`
8e7a46c92082
9dc0deaf22f3
[root@docker-100 ~]# docker rm `docker ps -aq`
8e7a46c92082
9dc0deaf22f3

# 打开的端口映射 宿主机:容器
81 , 82, 83

[root@docker-100 ~]# docker run -d -p 81:80 nginx_net-tools nginx -g "daemon off;"
c57436a1565c9fa2ed2e99ce4a222d4616e370f6967b1f56472043aa963b33dc
[root@docker-100 ~]# docker run -d -p 82:80 nginx_net-tools nginx -g "daemon off;"
d1b016f69c84d0fdceb992fb16530aaf170bdb5052057ce21a7ae03090f03c96
[root@docker-100 ~]# docker run -d -p 83:80 nginx_net-tools nginx -g "daemon off;"
3991c884116fbbff437dab963ee895a7b3c5ab668a241e69d8258fb6dc8794d1


镜像的共享

1. 提交到镜像仓库

2,本地的导出(语法)
docker save [镜像的名字] > 绝对路径

[root@docker-100 ~]# docker save nginx_net-tools > /opt/image_nginx.tar


3.发给目标机器docker-101 
用scp 命令 把100机器的发送到101机器上

docker load < image_nginx.tar 


基于dockerhub 公开仓库提供下载

https://hub.docker.com/
注册账密,即可登录

# 登录
docker login

# 推送
docker push 镜像的名字



# 机器远程下载镜像
docker pull 你的仓库的的连接

# 运行你所下载的镜像。

完结撒花🌸🌸🌸🌸🌸🌸🌸🌸🌸

posted @ 2025-05-15 15:39  国家一级冲浪yzk  阅读(31)  评论(0)    收藏  举报