Centos7.6安装Docker

Centos7.6 安装docker

1.基础环境准备
1.网络参数设置
$ cd /etc/sysconfig/network-scripts/
$ vim ifcfg-ens33
BOOTPROTO=static
ONBOOT=yes
重启网络
$ systemctl restart network

2.设置ssh服务
$ vim /etc/ssh/sshd_config
UseDNS=no

3.关闭 firewalld
$ systemctl stop firewalld
$ systemctl disable firewalld

4.关闭SELinux
setenforce 0 临时关闭
vim /etc/selinux/config 永久关闭
SELINUX=disabled

5.安装工具
yum -y install vim net-tools iptables-services lrzsz tree wget

6.清空防火墙规则
$ iptables -F

7.设置永久挂载
$ vim /etc/fstab
/dev/sr0                        /mnt            iso9660 defaults        0 0
$ mount -a	#自动挂载
8.shutdown -h now 关机做快照
2.下载docker,在阿里镜像站下载docker软件源
网址:
https://developer.aliyun.com/mirror/?spm=a2c6h.25603864.0.0.54f928b9jJDAGv
3.下载docker
$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
$ echo $?
0
$ ls /etc/yum.repos.d/
back  CentOS-Media.repo  docker-ce.repo
4.安装docker
$ yum -y install docker-ce
安装docker报错:
一. 问题重现

在centos7.6上安装docker,出现如下问题:
从报错中可以看到,缺少:
container-selinux ,fuse-overlayfs slirp4nets
只要把这三个包安装上即可

二. 解决过程
2.1 查看系统中有没有这三个包
[root@mufenggrow ~]# yum search container-selinux
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
警告:没有匹配 container-selinux 的软件包
No matches found
#使用 search查看发现没有这个包。
#增加官网源的可用存储库 extras,这些存储库提供了默认基本库和更新存储库中未包含的软件包
2.2 打开官网目录

官网软件包目录: http://mirror.centos.org/centos/7/extras/x86_64

可以看到在这个目录中有相关的Packages, 而我们一会就要使用这个Packages中的软件包,需要安装的包都在这里面。
在网页使用ctrl+F 查找:
可以查看到你想要的包

2.3 在docker-ce.repo中添加centos-extras源
vim /etc/yum.repos.d/docker-ce.repo
#在文档最上面添加源

[centos-extras]
name=Centos extras - $basearch
enabled=1
gpgcheck=0
baseurl=http://mirror.centos.org/centos/7/extras/x86_64
2.4 尝试安装系统提示的三个包
安装:
$ yum install  slirp4etns fuse-overlayfs container-selinux
#这三个包安装好后,再去按照正常的流程安装docker,就不会再报错了。
5.添加到开机自启项,并且启动服务,查看状态是否运行
$ systemctl enable docker	#设置docker开机自启动
$ systemctl start docker	#启动docker
$ systemctl status docker	#查看docker运行状态
6.查看docker版本
$ docker --version		#查看docker版本
Docker version 20.10.22, build 3a2c30b
$ docker version		#查看docker的详细信息
Client: Docker Engine - Community
 Version:           20.10.22
 API version:       1.41
 Go version:        go1.18.9
 Git commit:        3a2c30b
 Built:             Thu Dec 15 22:30:24 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.22
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.18.9
  Git commit:       42c8b31
  Built:            Thu Dec 15 22:28:33 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.14
  GitCommit:        9ba4b250366a5ddde94bb7c9d1def331423aa323
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
7.docker命令
#拉取镜像
$ docker pull
$ docker pull mysql:5.7
#查询当前有哪些镜像
$ docker images

#创建并启动一个容器,将容器中的某个端口映射到本地的某个端口上
$ docker run -p 本地端口:容器端口 

#查看已经启动的容器
$ docker ps 
$ docker ps -a #查看所有容器 -----包含正在运行和已停止的

#搜索mysql基础镜像
$ docker search mysql
8、拍摄快照
9.安装docker加速器
$ cd /etc/docker/
$ ls
key.json
$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://qh8rmvm5.mirror.aliyuncs.com"]
}
EOF
$ sudo systemctl daemon-reload	#重新加载文件
$ sudo systemctl restart docker	#开机自启
$ echo $?
10.测试拉取镜像
$ docker pull centos:centos7.9.2009	#拉取centos的镜像源
centos7.9.2009: Pulling from library/centos
2d473b07cdd5: Pull complete 
Digest: sha256:9d4bcbbb213dfd745b58be38b13b996ebb5ac315fe75711bd618426a630e0987
Status: Downloaded newer image for centos:centos7.9.2009
docker.io/library/centos:centos7.9.2009
$ echo $?
0
$ docker images	#查看当前的镜像
REPOSITORY   TAG              IMAGE ID       CREATED         SIZE
centos       centos7.9.2009   eeb6ee3f44bd   15 months ago   204MB
$ docker run -itd eeb6ee3f44bd /bin/bash	#运行镜像并放入后台
	#-it 以交互的模式运行
	#d	 放入后台
3c7efbdf44435e87f9840621f2b33f451399ca384b1d2ae3e99bc9c4e39eb949
$ docker ps -a #查看启动的容器
CONTAINER ID   IMAGE          COMMAND       CREATED              STATUS              PORTS     NAMES
3c7efbdf4443   eeb6ee3f44bd   "/bin/bash"   About a minute ago   Up About a minute             friendly_dhawan
$ docker exec -it 3c7efbdf4443 /bin/bash	#登录容器
[root@3c7efbdf4443 /]# whoami
root
[root@3c7efbdf4443 /]# hostname
3c7efbdf4443	#容器的id相当于一个小的虚拟机在运行
[root@3c7efbdf4443 /]# vim
bash: vim: command not found
[root@3c7efbdf4443 /]# ifconfgi
bash: ifconfgi: command not found
#没有vim和ifconfig工具需要下载(等同于安装了一个最小化系统)
Crtl+pq #退出容器放入后台运行
$ docker ps
CONTAINER ID   IMAGE          COMMAND       CREATED         STATUS         PORTS     NAMES
d9adfb794fdc   eeb6ee3f44bd   "/bin/bash"   4 minutes ago   Up 4 minutes             agitated_ritchie
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值