Docker的安装

89 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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…

图片.png

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端口

图片.png