1、什么是docker?
Docker解决了软件环境部署复杂的问题。
对于一个传统的软件工程,开发人员把写好的代码放到服务器上去运行是一件很头疼的事情,因为常常会出现环境不兼容二导致各种各样的bug。
比如说,开发是在 windows系统下编写的代码,放到linux服务器上可能会出问题,开发在本地一来了一个系统自带的驱动,服务器却没有这个驱动;开发在本地设置了很多环境变量,服务器上又得重新设置。
在软件部署的时候,经常会发生在这台机器上可以跑,但是在另一台机器上却运行失败的情况。运维人员需要不断在开发环境和服务环境之间调试。
有了Docker,只需要简单的几行命令,就可以做到所有的运行环境都一致。
2、docker 的安装
不推荐在 windows 下使用 docker
1、使用官方安装脚本自动安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内daocloud一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
3、在CentOs中安装所需要的软件包
1、添加yum源
yum install epel-release -y
执行效果如图
EPEL(Extra Packages for Enterprise Linux)是Fedora团队的开源免费社区存储库项目,它为Linux发行版提供100%高质量的附加软件包,包括RHEL(Red Hat Enterprise Linux)、CentOS和Scientific Linux。Epel项目不是RHEL/Cent操作系统的一部分,但它是为主要的Linux发行版设计的,它提供了许多开源软件包,如networking、sys admin、programming、monitoring等等。
2、清理yum安装包
yum clean all
3、安装yum-util,yum-utils 提供了 yum-config-manager
yum install -y yum-utils
4、安装device-mapper-persistent-data和lvm2,device mapper存储驱动程序需要device-mapper-persistent-data和lvm2。
yum install -y device-mapper-persistent-data
yum install -y lvm2
4、设置docker仓库
1、阿里云源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2、清华大学源
yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
5、安装最新版Docker Engine-Community
1、安装docker-ce
yum install docker-ce
2、安装docker-ce-cli
yum install docker-ce-cli
3、安装containerd
yum install containerd.io
6、启动docker引擎
Docker 安装完默认未启动。并且已经创建好 docker 用户组,但该用户组下没有用户。
1、启动Docker
systemctl start docker
设置开机自动启动docker
systemctl enable docker
2、查看docker版本
docker --version
3、通过运行hello-world镜像来验证是否正确安装了Docker Engine-Community
3.1 先拉取一下hello-world镜像
docker pull hello-world
3.2 运行hello-world
docker run hello-world
7、卸载docker
1、删除安装包
yum remove docker-ce
2、删除镜像、容器、配置文件等内容
rm -rf /var/lib/docker
8、docker上部署jenkins
1、搜索jenkins
docker search jenkins
2、拉取镜像
这里我们选择中文版的镜像:jenkins/jenkins
docker pull jenkins/jenkins
3、查看镜像
docker images
4、启动镜像
4.1 创建过载目录并授权
mkdir -p /var/jenkins_node
chmod 777 /var/jenkins_node
4.2 启动容器,映射主机端口及挂在目录
docker run -d --name jenkins --restart=always -p 9090:8080 -p 50000:50000 -v /var/jenkins_node:/var/jenkins_home jenkins/jenkins
查看容器状态
docker ps
5、jenkins初始化
5.1 获取jenkins的初始化密码
有2种方式:
一是通过查看容器日志,方式获取,如下:
docker logs jenkins
二是查看/var/jenkins_node/secrets/initialAdminPassword文件
5.2 在浏览器输入http://ip:9091打开初始化界面(ip为云服务器地址),如下:
注意:在此之前,先去阿里云服务器管理中心将端口9091开放
将上面获取到的秘钥复制进来。
然后跳转到这个界面