- 一、Docker简介
- 1、简介
- 2、Docker架构
- 3、虚拟机和docker容器的对比
- 二、Docker的安装
- 1、软件包安装
- 2、启动服务
- 3、测试
- 4、docker 指令
Docker是一个开源的应用容器引擎,是一个轻量级容器技术。基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用和依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
Docker的理念:Build,Ship and Run Any App,Anywhere,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到一次封装,到处运行。
一个完整的Docker有以下几个部分组成:
- DockerClient客户端
- Docker Daemon守护进程
- Docker Image镜像
- DockerContainer容器
Docker 架构
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。
Docker采用 C/S架构 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者RESTful API 来进行通信。
Docker daemon 一般在宿主主机后台运行,等待接收来自客户端的消息。 Docker 客户端则为用户提供一系列可执行命令,用户用这些命令实现跟 Docker daemon 交互。
3、虚拟机和docker容器的对比 二、Docker的安装1、软件包安装官方站点:
https://docs.docker.com/
阿里云开源镜像站:
https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/
stable/Packages/
在真机中下载172.25.254.250主机中的20/目录 在虚拟机中使用网络仓库指向真机中的20/目录位置,即可进行软件安装 cd /etc/yum.repos.d vim docker.repo --- [docker] name=docker-ce baseurl=http://172.25.76.250/20 gpgcheck=0 --- yum repolist
复制76.250中的20/目录下的软件并安装
lftp 172.25.76.250
>cd /root/
>mirrio 20/
安装
install -y
docker-ce-20.10.8-3.el7.x86_64.rpm
container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm
containerd.io-1.4.9-3.1.el7.x86_64.rpm
docker-ce-cli-20.10.8-3.el7.x86_64.rpm
docker-ce-rootless-extras-20.10.8-3.el7.x86_64.rpm
docker-scan-plugin-0.8.0-3.el7.x86_64.rpm
fuse3-libs-3.6.1-4.el7.x86_64.rpm
fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm
slirp4netns-0.4.3-4.el7_8.x86_64.rpm
2、启动服务
设置开机自启 systemctl enable --now docker 查看docker信息 docker info 发现有警告 --- WARNING: bridge-nf-call-iptables is disabled WARNING: bridge-nf-call-ip6tables is disabled ---
查看参数内容 sysctl -a | grep bridge-nf-call-iptables 编辑文件 vim /etc/sysctl.d/docker.conf --- net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 --- 刷新内核,因为改变了内核的设置 sysctl --system 再次查看docker信息 docker info
查找容器 docker search yakexi007 下载拉取容器中的游戏(必须拉取自资源,否则即使将其放入容器也无法使用该资源) docker pull yakexi007/game2048 查看运行的容器 docker ps 启动容器 docker run -d --name demo0 -p 80:80 yakexi007/game2048 在浏览器中输入虚拟机的ip即可看到从容器中拉取的内容,2048有点好玩嘻嘻,马里奥同理不再赘述
具体含义大家可以–help,学会使用帮助是成为大佬的一步呦,另外可以根据英文翻译嘛,后面会用到的自然就会啦~
启动docker: systemctl start docker systemctl enable --now docker 导入镜像: docker load -i game2048 运行容器: docker run -d --name game1 -p 80:80 game2048
docker tab键补齐可以查看命令
查看镜像
加载镜像ubuntu
运行容器 -it 出现一个虚拟的临时的交互界面 --name 容器的名字 -p 容器端口,真实端口:虚拟端口



