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 你的仓库的的连接
# 运行你所下载的镜像。
完结撒花🌸🌸🌸🌸🌸🌸🌸🌸🌸
浙公网安备 33010602011771号