配置阿里云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