持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第11天,点击查看活动详情
1.Docker的安装及使用
Docker是通过内核虚拟化技术来提供容器的资源隔离与安全保障。由于docker通过操作系统层和虚拟化 实现隔离,所以docker容器在运行时,不需要类似虚拟机额外的操作系统开销,提高资料利用率
Docker初期把lxc二次开发,后来觉得lxc实在不能满足需求,再次开发了libcontainer
Docker的主要目标是“Build,ship,and run any app,anywhere”构建,传输,处处运行,也就是 以此构建,处处运行
Docker容器也是一种软件的打包技术,只要找到进行的地址,下载镜像即可运行
构建:做一个docker镜像 运输:docker pull 运行:启动一个容器 每一个容器,都有自己的文件系统rootfs Docker的主要组成部分是cs架构
docker镜像下载网站 hub.docker.com/search?q=&t…
1.1.docker的安装
可以使用清华开源镜像网站的软件包进行安装
网址:mirrors.tuna.tsinghua.edu.cn/help/docker…
1.下载镜像,yum源
[root@192.168.146.112~]# wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
2.修改yum源地址
[root@192.168.146.112~]# sed -i 's#download.docker.com#mirrors.tuna.tsinghua.edu.cn/docker-ce#' /etc/yum.repos.d/docker-ce.repo
3.清除yum缓存
[root@192.168.146.112~]# yum makecache fast
4.安装docker,并将docker软件缓存到本地
[root@192.168.146.112~]# vim /etc/yum.conf
keepcache=1 #将0改为1
[root@192.168.146.112~]# yum -y install docker-ce --downloadonly --downloaddir=/root
5.启动docker
[root@192.168.146.112~]# systemctl start docker
[root@192.168.146.112~]# systemctl enable docker
6.查看docker进程和版本
[root@192.168.146.112~]# ps aux | grep docker
root 43556 1.8 6.7 578980 66764 ? Ssl 17:52 0:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 43666 0.0 0.0 112728 972 pts/1 R+ 17:52 0:00 grep --color=auto docke
[root@192.168.146.112~]# docker version
Client: Docker Engine - Community
Version: 20.10.7
API version: 1.41
Go version: go1.13.15
Git commit: f0df350
Built: Wed Jun 2 11:58:10 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.7
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: b0f5bc3
Built: Wed Jun 2 11:56:35 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.6
GitCommit: d71fcd7d8303cbf684402823e425e9dd2e99285d
runc:
Version: 1.0.0-rc95
GitCommit: b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
docker-init:
Version: 0.19.0
GitCommit: de40ad0
1.2.运行第一个容器
默认从国外的网站进行获取
安装好之后直接访问即可,在制作镜像的时候已经全部配置好了
语法格式:
docker run 选项 物理机端口:虚拟机端口 容器名称
[root@192.168.146.112~]# docker run -d -p 80:80 nginx
Unable to find image 'nginx:latest' locally #本地没有这个镜像,开始下载,我们也可以先从镜像库里面下载docker pull
latest: Pulling from library/nginx #开始从镜像库里面下载
b4d181a07f80: Pull complete
66b1c490df3f: Pull complete
d0f91ae9b44c: Pull complete
baf987068537: Pull complete
6bbc76cbebeb: Pull complete
32b766478bc2: Pull complete
Digest: sha256:353c20f74d9b6aee359f30e8e4f69c3d7eaea2f610681c4a95849a2fd7c497f9
Status: Downloaded newer image for nginx:latest
a9e8cd73690d81f8916e57dddc7f3b22db48f14add2b6ed202b7ac8d18703727
-d:后台启动
-p:端口映射,服务器的80端口映射成容器的80端口