Linux(Centos7)安装Docker

配置阿里云base源和epel源,安装Docker环境依赖

1.备份原有的 yum 源配置

cd /etc/yum.repos.d/
mkdir back
cp *.repo back/

2.拉取阿里云 yum 源配置文件和 epel 配置文件

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

3.清空并重新生成缓存

yum clean all 
yum list

4.安装依赖

yum -y install yum-utils device-mapper-persistent-data lvm2

5.配置阿里云的Docker的yum源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装Docker

yum -y install docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service
# docker version  //显示Docker版本信息
Client: Docker Engine - Community
 Version:           20.10.12 // 版本
 API version:       1.41
 Go version:        go1.16.12
 Git commit:        e91ed57
 Built:             Mon Dec 13 11:45:41 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:   // Docker引擎
  Version:          20.10.12
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.12
  Git commit:       459d0df
  Built:            Mon Dec 13 11:44:05 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.12
  GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
# docker info  //查看Docker信息,包括镜像和容器数
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Docker Buildx (Docker Inc., v0.7.1-docker)
  scan: Docker Scan (Docker Inc., v0.12.0)

Server:
 Containers: 1
  Running: 0
  Paused: 0
  Stopped: 1
 Images: 1
 Server Version: 20.10.12
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc version: v1.0.2-0-g52b36a2
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 3.10.0-1160.45.1.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 3.7GiB
 Name: VM-16-13-centos
 ID: 2NAY:3KLA:HE76:V4BJ:F7UN:HD6N:YV3M:O56A:KPBB:PVUZ:TSGM:FFWE
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://7rz5l96c.mirror.aliyuncs.com/
 Live Restore Enabled: false

说明:Docker最早的版本名是docker和docker-engine,现在的名字是docker-ce(开源)和docker-ee(闭源)。并且2017年年初,docker开源项目改名为moby,所以其实有三个版本:moby是源代码;docker-ce和docker-ee是容器产品,rpm包。

下载Docker镜像

从DockerHub上搜索镜像,第一列Docker镜像名字(下载根据该列),第二列描述,第三列欢迎程度,第四列是否是官方提供(一般下载官方Docker镜像),第五列是否自动化。

[root@VM-16-13-centos ~]# docker search centos
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
centos/systemd                    systemd enabled base container.                 105                  [OK]
centos/mysql-57-centos7           MySQL 5.7 SQL database server                   92                   
centos/postgresql-96-centos7      PostgreSQL is an advanced Object-Relational …   45                   
centos/httpd-24-centos7           Platform for running Apache httpd 2.4 or bui…   43                   
centos/python-35-centos7          Platform for building and running Python 3.5…   39                   
centos/php-56-centos7             Platform for building and running PHP 5.6 ap…   34                   
centos/mysql-56-centos7           MySQL 5.6 SQL database server                   21                   
centos/postgresql-10-centos7      PostgreSQL is an advanced Object-Relational …   19                   
centos/postgresql-94-centos7      PostgreSQL is an advanced Object-Relational …   16                   
centos/nginx-112-centos7          Platform for running nginx 1.12 or building …   16                   
kasmweb/centos-7-desktop          CentOS 7 desktop for Kasm Workspaces            15                   
centos/nginx-18-centos7           Platform for running nginx 1.8 or building n…   13                   
centos/mariadb-101-centos7        MariaDB 10.1 SQL database server                12                   
centos/mongodb-36-centos7         MongoDB NoSQL database server                   8                    
centos/redis-32-centos7           Redis in-memory data structure store, used a…   6                    
centos/mariadb-102-centos7        MariaDB 10.2 SQL database server                6                    
centos/mongodb-34-centos7         MongoDB NoSQL database server                   3                    
centos/ruby-25-centos7            Platform for building and running Ruby 2.5 a…   3                    
kasmweb/core-centos-7             CentOS 7 base image for Kasm Workspaces         1                    
ibmcom/fhe-toolkit-centos         The IBM Fully Homomorphic Encryption (FHE) T…   0                    
ibmcom/fhe-toolkit-centos-amd64   The IBM Fully Homomorphic Encryption (FHE) T…   0                    
datadog/centos-i386                                                               0                    
bitnami/centos-extras-base                                                        0                    
bitnami/centos-base-buildpack     Centos base compilation image                   0                    [OK]
centos                            The official build of CentOS.                   0         [OK]       

由于Docker镜像都在国外的DockerHub网站上,所以下载会非常慢,最好使用加速器加速。例如说阿里云服务器提供的免费加速器地址。登录阿里云账号,在左侧的菜单中有产品和服务选项,在该选项中找到容器镜像服务,点击后面的星星即可添加到菜单中。然后点击容器镜像服务,进入下一个界面。
在这里插入图片描述
第一次进入容器镜像服务页面,会要求设置密码。设置完成后选择左侧菜单栏中的镜像中心–>镜像加速器–>加速器地址。
在这里插入图片描述
修改Docker服务

[root@youxi1 ~]# vim /usr/lib/systemd/system/docker.service
// 增加启动选项
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --registry-mirror=https://8mkqrctt.mirror.aliyuncs.com

配置好加速器地址后,我们就可以拉取Docker镜像了

# ddocker pull centos:7  //拉取镜像
Using default tag: latest
latest: Pulling from library/centos
d8d02d457314: Pull complete
Digest: sha256:307835c385f656ec2e2fec602cf093224173c51119bbebd602c53c3653a3d6eb
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
# docker images  //查看已有镜像
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              67fa590cfc1c        3 weeks ago         202MB

开启网络转发功能
该功能是默认开启的,如果没有开启可以手动设置一下
该功能一定要开启,否则Docker实例会启动失效

[root@youxi1 ~]# cat /proc/sys/net/ipv4/ip_forward    
1
//如没有开启手动进行如下设置
[root@youxi1 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@youxi1 ~]# sysctl -p  //使配置生效
net.ipv4.ip_forward = 1

启动Docker

启动并测试网络

// 启动容器
[root@VM-16-13-centos ~]# docker run -it centos:latest /bin/bash
// 启动容器可以看到用户后面的主机名更改了,变成了当前容器的名字
[root@956f6ef12b6e /]# ping www.baidu.com
PING www.a.shifen.com (112.80.248.75) 56(84) bytes of data.
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=1 ttl=51 time=9.75 ms
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=2 ttl=51 time=9.71 ms
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=3 ttl=51 time=9.72 ms
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=4 ttl=51 time=9.61 ms
^C
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 9.610/9.697/9.751/0.131 ms
[root@956f6ef12b6e /]# ^C
// 用exit退出Docker
[root@956f6ef12b6e /]# exit
exit
[root@VM-16-13-centos ~]# 

如果想要查看正在运行的docker实例,可以使用docker ps命令

//另外打开一个命令窗口
[root@youxi1 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
9a81af9b4134        centos:latest       "/bin/bash"         8 seconds ago       Up 7 seconds                            pensive_dijkstra

来源:https://www.cnblogs.com/diantong/p/11498649.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值