生产环境CentOs7安装docker记实
记录下,下次直接C、V使用
前置检查
1 | [root@web-95-61 /]# cat /etc/redhat-release |
配置国内yum源
参考:
https://blog.csdn.net/inslow/article/details/54177191
https://yeasy.gitbooks.io/docker_practice/install/centos.html
1 | [admin@web-95-61 ~]$ su |
安装docker
参考:
https://qizhanming.com/blog/2019/01/25/how-to-install-docker-ce-on-centos-7
https://yeasy.gitbooks.io/docker_practice/install/centos.html
卸载旧版本
旧版本的 Docker 被叫做 docker 或 docker-engine,如果您安装了旧版本的 Docker ,您需要卸载掉它。1
2
3
4
5
6
7
8 sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
旧版本的内容在 /var/lib/docker 下,目录中的镜像(images), 容器(containers), 存储卷(volumes), 和 网络配置(networks)都可以保留。
Docker CE 包,目前的包名为 docker-ce
安装准备
为了方便添加软件源,支持 devicemapper 存储类型,安装如下软件包1
2
3
4 sudo yum update
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
添加 yum 软件源1
2
3
4
5
6
7
8
9 sudo yum-config-manager \
--add-repo \
https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
官方源
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
(可选)如果需要测试版本的 Docker CE 请使用以下命令:1
sudo yum-config-manager --enable docker-ce-test
如果需要每日构建版本的 Docker CE 请使用以下命令:1
sudo yum-config-manager --enable docker-ce-nightly
安装 Docker CE
更新一下 yum 软件源的缓存,并安装 Docker。1
2
3 sudo yum makecache fast
sudo yum update
sudo yum install docker-ce
至此,Docker 已经安装完成了,Docker 服务是没有启动的,操作系统里的 docker 组被创建,但是没有用户在这个组里。
注意:
默认的 docker 组是没有用户的(也就是说需要使用 sudo 才能使用 docker 命令)。
您可以将用户添加到 docker 组中(此用户就可以直接使用 docker 命令了)。
(可选)加入 docker 用户组命令1
sudo usermod -aG docker USER_NAME
用户更新组信息后,重新登录系统即可生效。
启动 Docker
如果想添加到开机启动1
$ sudo systemctl enable docker
启动 docker 服务1
$ sudo systemctl start docker
验证安装
1 | $ sudo docker run hello-world |
使用rancker管理,成为主机
点击添加主机:
复制
新机器:
总图:
优化:Linux永久关闭swap
什么是swap:
https://www.cnblogs.com/kerrycode/p/5246383.html
Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存变少。当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。
使用了docker 最好关闭swap,内存会超分,而且性能会很差。