使用Docker及安装部分软件
一、前言
最近在银行内部部署项目的时候,发现GCC版本过期,是4.5的版本,导致了Nginx和Redis都无法进行make编译安装,但是GCC版本又因为无法连接到外网,无法进行升级。那么想到了使用Docker容器化技术来进行管理。其实之前也使用过Docker,但是这次决定将其系统性的整理一下。
下面章节将分为以下几个模块进行:
- 安装Docker
- 利用Docker安装Nginx
- 利用Docker安装Redis
- 利用Docker安装MySQL
二、安装Docker
因为之前测试的时候使用的是root用户,但是同事说要在appuser用户下进行安装,为了防止不必要的麻烦,那就都使用appuser用户来进行安装吧。
本文参考博客:https://blog.csdn.net/qq_28323595/article/details/120202744
但是又与参考中的博客有所不同,因为之前同事安装过,所以就参考着同事的步骤来,也是成功的。
当前使用的Docker版本号是:docker-19.03.9.tgz
包放在阿里网盘中,阿里网盘链接如下所示:https://www.aliyundrive.com/s/jAMuNwbDnv9 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
因为MySQL.tar太大了,这里无法分享,所有有需要的可以自己打包个镜像
制作docker镜像参考链接如下所示:https://blog.csdn.net/qq_41204464/article/details/122034637
2.1、给要操作的用户授权
因为root用户要给appuser用户进行授权之后,appuser可以来操作docker。
sudoers
whereis sudoers
ls -l /etc/sudoers
// 先给文件添加上写的权限
chmod -v u+w /etc/sudoers
编辑/etc/sudoers,给新用户添加sudo权限
注:这里的qwtest就是我们要进行授权的用户,但是因为是直接复制的图片,这里暂且就将qwtest用户看成是appuser用户即可。
编辑完保存退出,并将编辑权限收回
chmod -v u-w /etc/sudoers
2.2、切换用户到appuser
exit
su qwtest
2.3、解压Docker压缩包
将docker安装包上传到/home/appuser/docker下,并进行解压
cd /home/qwtest/docker
ll
tar -xvf docker-19.03.9.tgz
将解压出来的docker目录下的指令复制到 /usr/bin/ 目录下
sudo cp docker/* /usr/bin/
2.4、将Docker注册成服务
// 新建文件
sudo vi /etc/systemd/system/docker.service
然后复制以下内容到docker.service文件中来
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
给docker.service添加执行权限并重新加载配置文件
sudo chmod a+x /etc/systemd/system/docker.service
sudo systemctl daemon-reload
2.5、启动docker
sudo systemctl start docker
#查看docker版本
docker -v
#查看当前启动容器
docker ps
#查看当前镜像
docker images
注:出现问题。在这里,我和同事装了四台机器之后,发现在进行docker -v的时候没有问题,但是进行docker ps和docker images的时候提示没有权限。
解决方式:这个时候一定要关闭掉当前会话窗口,重新打开一个新的会话窗口,然后再次执行,发现会显示出来上来的内容。
如果还是无法成功,建议参考博客中的安装方式来进行安装。
2.6、卸载Docker
关于卸载docker的一些参考链接我也放在这里:
三、利用Docker安装Nginx
因为同事已经打包了镜像,所以在这里我就直接把镜像放上来。
3.1、加载镜像
首先使用命令load进行从tar文件加载出来镜像:
docker load -i nginx.tar
然后查看镜像是否加载成功
docker images
3.2、配置文件映射
因为在安装Nginx的时候,如果直接启动容器的话,那么外界想要去查看镜像中的日志、配置文件等,比较麻烦。
所以直接来做一个映射,方便后期进行查看日志等。
四、利用Docker安装Redis
3.1、加载镜像
首先使用命令load进行从tar文件加载出来镜像:
docker load -i nginx.tar
然后查看镜像是否加载成功
docker images
3.2、配置文件映射
因为在安装Nginx的时候,如果直接启动容器的话,那么外界想要去查看镜像中的日志、配置文件等,比较麻烦。
所以直接来做一个映射,方便后期进行查看日志等。
五、利用Docker安装MySQL
3.1、加载镜像
首先使用命令load进行从tar文件加载出来镜像:
docker load -i nginx.tar
然后查看镜像是否加载成功
docker images
3.2、配置文件映射
因为在安装Nginx的时候,如果直接启动容器的话,那么外界想要去查看镜像中的日志、配置文件等,比较麻烦。
所以直接来做一个映射,方便后期进行查看日志等。