docker-1

1.因为docker和宿主机的端口映射,本质是内核的流量转发功能

需要开启

2.docker部署参考前文,镜像无法拉取,配置 阿里云 镜像加速器

3.docker网络流量走向?

主机---宿主机网卡ens33---docker0网桥--docker端口映射生成的虚拟网络接口

4. 镜像是分层储存的,利于镜像优化,多阶段构建

docker history 镜像名 :可以看到具体的操作

5.容器的本质:包裹着一个运行中的进程的容器空间

ps -ef 显示进程空间

6.自制一个docker镜像

1.下载一个基础镜像:docker pull centos:7.4.1708

2.进入镜像修改yum源:docker run -it -d centos:7.4.1708 sh --- 参考网上文档

建议使用curl下载

3.下载基础软件 net-tools,可以使用ifconfig rounte等网络命令

4.提交镜像修改记录: docker commit ccb614adca56 lxy

就会出现一个名字叫lxy的镜像

5.要么推到镜像仓库,要么保存成tar文件,在加载

docker save -o xxx.tar 镜像名:版本

docker load -i xxx.tar

7.新知识

docker run : 创建+启动一个新容器

curl是命令行工具,用于与服务器进行数据传输。它支持多种协议,如HTTP、HTTPS、FTP等,并允许用户发送各种HTTP请求(如GET、POST、PUT、DELETE等),同时接收来自服务器的响应。以下将详细介绍curl的通常用法以及一些常用参数:

  1. 获取页面内容
    • 当不加任何选项使用curl时,默认会发送GET请求来获取链接内容到标准输出。例如:curl http://example.com
  2. 发送POST请求
    • 可以使用-X POST选项来发送POST请求,并通过-d选项来指定POST请求的数据。例如:curl -X POST http://example.com/login -d "username=user&password=pass"
  3. 下载文件
    • 使用-o选项可以将远程文件下载到本地,并指定文件名。例如:curl -o example.html http://example.com/file.html
    • 使用-O选项(注意是大写)也可以下载文件,但会直接使用URL中的文件名保存。
  4. 显示HTTP头信息
    • 使用-I选项可以只显示HTTP头信息,而不显示文件内容。例如:curl -I http://example.com
  5. 跟踪重定向
    • 有些网站会自动重定向,使用-L选项可以让curl跟随重定向到新的网址。例如:curl -L http://example.com/redirect

8. docker组件工作流

images container registry 镜像 容器 仓库

9.容器关闭后,数据会丢失吗?

不会,docker ps -a 还存在就不会丢失

10.docker是一个命令行工具,用于管理容器的

11.推送镜像流程

1.docker login  输入账号密码(必须要登录才能推

2.修改镜像名字,有一定规则 docker tag 旧镜像名 用户名/新名字

3.docker push 镜像 推送

12.镜像怎么修改?

改不了,镜像只是可读的文件,只能是运行容器去改,然后commit生成新的镜像
一般情况是,docker run exec -it xxx镜像 sh 修改后,docker commit XXX 生成新镜像,可以通过docker history 查看镜像层数

13.镜像和容器的关系?

镜像都是只读,容器docker run 会产生一个读写层,修改的东西都属于容器不会修改镜像

镜像 ro只读层 -- docker run 产生容器 读写层 -- bash 进去装东西 -- docker commit 容器id 新镜像名字

14.logs命令本质

docker logs -f  容器id

15.下载镜像后,怎么查看该镜像版本,例如nginx

docker run nginx:xxx nginx -v  ---只想看版本,不运行容器

docker run nginx:xxx bash -c "nginx -v"

16.docker的增删改查对应的命令--笨熊费键盘

增:docker run  -i -t -d -p -P -v
        docker start 容器id

删:docker rm (-f) 容器id

改:docker commit 容器it
       docker rename 旧容器名 新容器名

查:docker ps   docker ps -a

.....待定

17.docker inspect 容器id   复制后 到json.cn 网站格式化,查看相应信息

18.容器交互与非交互方式

19.容器怎么做日志分析?

1.dokcer logs xxx > 1.txt 只针对access.log和error.log
2.如果需要分析其他日志:
查看容器日志输出到哪?docker inspect 容器名 |grep -i log

docker cp 容器:容器目录 宿主机

可以做容器和宿主机的目录映射

20.cmd是容器默认运行命令,通过用于指定服务的命令

21.容器化部署小鸟网站

静态资源更新无需重启容器,动态资源需要重启

-v 数据卷映射 容器和宿主机目录打通,不需要反复cp

22.容器结合nginx部署???

23.镜像和dockerfile关系

可以通过docker history 镜像,查看各个层
写一个dockerfile -- docker build 镜像

24.dockerfile 和 docker commit 都是可以用于制作镜像的,但是dockerfile更利于可重复性、可追踪性和版本控制

25.docker run是在镜像上多了一个 rw读写层,容器层,镜像是多层存储的,容器也是多层存储且在镜像上保存

26.dockerfile指令说明 --- 指令详解自行搜索

组成部分:1.from基础镜像 2.制作镜像操作指令 run 3.容器启动执行的默认命令CMD

RUN:每一个run都会开启一个镜像层,所以尽量多个合并,每一个run都是开启一个容器执行命令,然后提交结果介入新的一层镜像记录。

CMD:专门用于容器运行的默认命令,如果运行容器时传入参数,cmd将会被覆盖,且只有最后一个cmd生效。

CMD ["启动命令","-参数","参数对应;"]

EXPOSE:主动声明容器要对外提供的端口服务

EXPOSE <port1> <port2> ,在docker run的时候要使用-p做端口映射

ADD 、COPY:从宿主机获取资源用copy,纯文件  从互联网下载,使用add,且add支持解压缩功能

WORKDIR:指定工作目录,目录也需要提前创建

ENV:设置容器运行时的环境变量

USER:改变之后层执行run、cmd、entrypoit这类命令的身份,注意需要提前创建

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值