0
点赞
收藏
分享

微信扫一扫

【C++/嵌入式笔试面试八股】一、36.模板 | 容器

嚯霍嚯 2023-06-05 阅读 105

文章目录

1. 什么是容器

容器是隔离的环境中运行的一个进程,如果进程结束,容器就会停止,容器的隔离环境,拥有自己的ip地址,系统文件,主机名,进程管理。

程序:代码,软件,命令
进程:正在运行的程序

2. 容器和虚拟机的区别

虚拟机: 硬件cpu支持(vt虚拟化),模拟计算硬件,走正常的开机启动
bios开机自检–根据bios启动项–读取硬盘第一个扇区grub,uefi,centos7,加载内核,启动系统第一个进程/sbin/init systemd

容器:不需要硬件cpu的支持,共用宿主机内核,启动容器的第一个进程
容器优势:启动快,性能高,损耗少,轻量级

100虚拟机 100个服务 10宿主机
100容器 100个服务 6宿主机

3. docker-ce的安装

#安装docker-ce
wget -O /etc/yum.repos.d/docker-ce.repo
https://download.docker.com/linux/centos/docker-ce.repo
sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
yum install docker-ce -y

systemctl enable docker
systemctl start docker

#验证
[root@docker01 yum.repos.d]# docker version
Client: Docker Engine - Community
Version: 19 .03.05
API version: 1.40
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07 :25:41 2019
OS/Arch: linux/amd
Experimental: false

4. docker主要内容

docker是一个cs架构, docker主要:镜像 容器 仓库 网络 存储 监控
docker是一个软件的打包技术.

docker run -d -p 80 :80 nginx:latest
run 创建并启动一个容器
-d 放后台启动
-p 端口映射
nginx:latest docker镜像名称

5. docker镜像常用命令

docker search 搜索镜像, 优先选官方,stars数量多
docker pull 拉取镜像(下载镜像)
docker push 推送镜像(上传镜像)
docker load 导入镜像
例子: docker load -i docker_nginx.tar.gz
docker save 导出镜像
例子:docker save centos:7 -o
docker_centos7.tar.gz
docker images 查看镜像列表
docker rmi 删除镜像
docker tag 给镜像打标签

6. docker容器常用命令

docker run 创建并启动容器
例子:docker run -d -it -p 80:80 nginx:latest
docker create 创建容器 --name
docker start 启动容器
docker stop 停止容器
docker restart 重启容器
docker kill 强制停止容器
docker ps 查看容器列表 -a 查看所有容器
docker rm 删除容器
批量删除所有容器 docker rm -f `docker ps -
a -q`
docker exec 进入正在运行的容器(分配一个新终
端)
例子: docker exec -it 容器id/容器名字
/bin/bash(/bin/sh)
docker attach 进入正在运行的容器(使用相同的终
端),偷偷离开的快捷键ctrl +p,ctrl +q

容器想要放在后台一直运行的话,那么容器的初始命令,必须夯住(前台运行),否则容器就会退出。

前台运行

nginx -g 'daemon off;'
/usr/sbin/php-fpm --nodaemonize

7. docker端口映射

docker run
-p 宿主机端口:容器端口
-p 宿主机ip1:宿主机端口:容器端口 (多个容器同时
使用 80 端口)
-p 宿主机ip1::容器端口 随机端口映射
-p 宿主机ip1::容器端口/udp 使用udp协议做随机
端口映射
-p 80 :80 -p 3306 :
-p 1111 -1119:1111-1119 端口范围映射

-P 自动随机端口映射

8. docker数据卷

docker run
-v 宿主机绝对目录:容器目录
-v 容器目录 #创建一个随机卷,来持久化容器
的目录下的数据
-v 卷名:容器目录 #创建一个固定名字的卷,来持
久化容器的目录下的数据
--volumes-from 跟某一个容器挂载所有相同的卷

小练习: 只启动一个nginx容器,要求访问 80 端口,出现nginx默认欢迎首页,访问 81 端口,出现小鸟飞飞。

举报

相关推荐

0 条评论