首页 > 编程知识 正文

docker的安装,虚拟机安装centos7教程

时间:2023-05-06 04:52:55 阅读:147594 作者:694

本文主要描述docker操作的总体过程,在操作说明的同时,说明原理。

docker操作通常分为四个步骤。

1、安装文件库

2、运行文档生成器;

3、下载镜像

4、启动文档容器实例

一.用于安装Docker的服务器环境是CentOs 7.9。

1、安装环境相关

yum install-yyum-utils device-mapper-persistent-datalvm 2、部署国内文件库的yum源(AlibabaCloud )

yum-config-manager-- add-repo http://mirrors.a liyun.com/docker-ce/Linux/centos/docker-ce.repo

这一句话就可以了。 显示yum源信息的命令如下。

ls/etc/yum.repos.d/docker-ce.repo vim! $查看配置的yum源信息

3、安装文件库

[ root @ centos7-9~~] # yuminstalldocker-ce docker-ce-CLI containerd.io-y

docker-ce-cli的角色是docker命令行工具包

containerd.io的作用是容器接口相关软件包

yum info软件包的名称可以看到软件包的具体作用。

二.执行文件库

1、启动docker并随机启动

systemctlstartdockersystemctlenabledocker实际上修改此命令的位置如下

cat/proc/sys/net/IP v4/IP _ forward的值为1,默认值为0。 启动docker时,转发功能IP_forward会自动打开

2、运行成功后,确认版本号

文档版本

3、查看文档信息

文档信息显示文档的运行状况。 现在有几个容器,几个正在运行,几个paused的暂停,几个停止等,cup,内存等。 其中:

docker rootdir :/var/lib/dockerdockerrootdir : docker的根地址,下载的镜像默认位于此目录下。

注册:3359 index.docker.io/v1默认情况下,前往此https:// index.docker.io/v1/站点查找docker镜像

三.下载并本地镜像

有些通用镜像可以通过搜索进行搜索。 命令如下所示。

文档搜索镜像名称

默认情况下,它会从Docker Hub中搜索满足条件的镜像。

如上图所示,几列分别表示docker镜像名的受欢迎程度

是否正式向[ok]提供OFFICIAL,表示可以放心使用。

直接拉动这些镜像会变慢,所以需要添加镜像加速器。 例如,我们一般使用AlibabaCloud (阿里巴巴云)的镜像加速器,提高拉动速度。

方法如下。

1、只需登录container hub services https://Cr.console.a liyun.com控制台,使用您的支付宝(Alipay )帐户,第一次登录时,设置独立密码,使用该uui 左侧的加速器帮助页面显示独立分配的加速器地址。

2、需要手动创建daemon.json文件。

vim /etc/docker/daemon.json写入以下内容

{ ' registry-mirrors ' : [ ' https://e9yneuy4. mirror.aliyuncs.com ' }可以添加多个镜像源,并且选择速度更快以适合您的网络环境。 这里追加了三个经常使用的东西。

{ ' registry-mirrors ' : [ ' https://docker hub.azk8s.cn ',' http://hub-mirror.c.163.com ',' http://28 us F5 ts.MITS

3、恢复服务

[ root @ centos7-9~ ] # systemctldaemon-reload [ root @ centos7-9~ ] # systemctlrestartdocker 4,查看文档信息

你可以在docker info上看到

注册镜像3360https://docker hub.az

k8s.cn/ http://hub-mirror.c.163.com/ http://28usf5ts.mirror.aliyuncs.com/

3.2现在pull下载网上的常用的镜像就可以了。

比如我们下载个centos镜像

docker pull centos

注意:这里的centos镜像,就是刚刚搜索的centos的第一条,官方的镜像。现在默认为版本8,精简的版本,是不加任何其他东西。非常小,只有200多M.连linux的内核都没有,就是一些基本的包。

下载完毕后,查看下本地的镜像

docker images

就能看到刚刚下载的centos镜像了。

还有一些下载镜像的方法,我们接着将!

3.3 直接指定镜像的网址下载

docker pull hub.c.163.com/library/tomcat:latest

3.4 将本机的镜像文件直接上传到linux载入镜像

 1.使用ftp工具将镜像文件tar包上传到linux。

  2.载入镜像

docker load -i /root/docker-centos7.tar

四、启动Docker容器实例

4.1、开启动网络转发功能

若不开启,docker 启动实例时,会报错以下警告:

手动开启的方法如下:

vim /etc/sysctl.conf

插入以下内容

net.ipv4.ip_forward = 1

启动服务

sysctl -p

检查路由转发功能是否有效的方法:

cat /proc/sys/net/ipv4/ip_forward

返回的结果为1则表示有效,否则无效。

4.2、关闭防火墙

systemctl stop firewalld && systemctl disable firewalld

关了防火墙,要把 docker 服务重启一下,不然后 docker 的 ip 包转发功能无法使用。即使防火墙关了,docker 会调用内核模块 netfilter 增加规则,所以有防火墙规则。重新启动docker的命令如下:

systemctl restart docker

可以查看到 防火墙的条目会多了很多关于docker 的

4.3、启动docker实例:

docker run -it centos:latest bash

退出该实例使用 exit,就将容器的实例关闭了。

Exit

或启动一个实例,后台运行:

docker run -d centos:latest /dqdxl/sh -c "while true;do echo hello world; sleep 1; done"

表示在 container 中启动一个长久运行的进程,不断向 stdin 输出 hello world 。模拟一个后台运行的服务docker 常用参数:-d 后台运行容器,并返回容器 ID;-c 后面跟待完成的命令。

返回的字符串为容器的ID

99a2d6a864eed9b097c81b19dd5373eba43fc681afcb765632b61bca712f37e5

从一个容器中取日志,查看输出的内容,可用于后期检查 docker 实例在标准输出中弹出的错误信息或正常的信息。语法:

docker logs 容器实例的 Name/ID

通过 docker ps 可以查询现在运行的容器。

docker ps -a   #-a 列出所有容器(包含沉睡/退出状态的容器);

Exited表示退出,Up表示正在运行中;

杀死一个容器。比如:杀死一个正在后台运行的容器查看要杀死容器的 ID

docker kill c4a213627f1b #杀死一个容器

五、运行一个站点镜像

1、我们找个包含了站点的镜像,运行后,在外部访问。

下载地址:

​​​​​​​

https://pan.baidu.com/s/1rnwugN0eVk4MBgaMFnB8Yg提取码:muxu

 下载好后解压为一个镜像tar包:docker-centos-httpd-image.tar,这个镜像包含了一个静态站点和web服务器,然后使用ftp上传到linux服务器,使用3.4的方法

docker load -i /root/docker-centos-httpd.tar

2、运行一个镜像,是一个站点,并且做好端口映射。

docker run -d -p 80:80 centos:httpd-v2

-p 物理机的 80 端口:容器实例的 80 端口 ,把容器中的 80 端口映射到物理机上的 80 端口

3、查看物理机上开启的 80 代理端口

netstat -antup | grep 80

可以看到端口已映射成功了。我的Linux地址为:192.168.157.100

我们在外部访问下:http://192.168.157.100/

成功打开站点了。

六、一些小知识

1、查看docker 服务启动脚本

cat /usr/lib/systemd/system/docker.service

查看如上的文件,其中ExecStart=/usr/dqdxl/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 即为启动的命令,启动的时候,真正启动的是/usr/dqdxl/dockerd,后面再跟上一串,镜像加速器也可以加在这里, 不推荐该方法。

systemctl daemon-reload #只有修改了 systemd 服务启动脚本,才需要重新加载,修改配服务的置文件,不需要执行这个。

2、常用命令

启动、停止、重启 container 容器实例的常用命令,一定要记住

docker images #查看所有的镜像

docker run -d -p 80:80  centos:httpd-v2   #运行、启动一个容器实例;

docker  ps    #查看所有正在运行中的容器;

docker stop 容器id   #关闭容器

docker restart 容器id  #重启容器

docker rm 容器id  删除指定的容器,一般是先stop在删除,或者强制删除 加 -f

docker rm -f 容器id

3、docker 和容器实例的区别

很多初学者经常搞不清这2者的关系。其实docker相当于一个底层软件,需要先启动docker,

systemctl start docker

才可以docker pull镜像,启动容器实例

docker run -d -p 80:80 centos:httpd-v2

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。