内核检查
通过uname -r
来检查自己的内核是否是3.x及以上,如果是3.x以下的版本需要升级内核,比如我手里的云服务器就是2.6版本的。
内核升级步骤:
- 导入public key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
- 安装ELRepo到CentOS
先要进入后面的网址,http://elrepo.org/tiki/tiki-index.php 选择要安装的ELRepo .
rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
- 安装 kernel-lt(lt=long-term)
yum --enablerepo=elrepo-kernel install kernel-lt -y
- 编辑grub.conf文件,修改Grub引导顺序
vi /etc/grub.conf
因为一般新安装的内核在第一个位置,所以设置default=0,表示启动新内核 - 重启系统
shutdown -r now
Docker安装
安装一些必要的系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新 yum 缓存:
sudo yum makecache fast
安装 Docker-ce:
sudo yum -y install docker-ce
启动 Docker 后台服务:
sudo systemctl start docker
测试运行 hello-world
docker run hello-world
centos安装docker显示 No package docker-ce available
- 卸载老版本的 docker 及其相关依赖
sudo yum remove docker docker-common container-selinux docker-selinux docker-engine
2,更新yum
yum update
3. 安装 yum-utils,它提供了 yum-config-manager,可用来管理yum源
sudo yum install -y yum-utils
4. 添加yum源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5. 更新索引
sudo yum makecache fast
6. 安装 docker-ce
sudo yum install -y docker-ce
7. 启动 docker
sudo systemctl start docker
8. 验证是否安装成功
sudo docker info
Docker命令
容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause]
容器操作运维 — docker [ps|inspect|top|attach|exec|events|logs|wait|export|import|port]
容器rootfs命令 — docker [commit|cp|diff]
镜像仓库 — docker [login|pull|push|search]
本地镜像管理 — docker [images|rmi|tag|build|history|save|import]
其他命令 — docker [info|version]
Docker 部署Tomcat
安装镜像:docker pull tomcat
下载完毕后,可以执行docker images
命令查看下载好的镜像
启动tomcat:
docker run -p 8080:8080 --name mytomcat tomcat:latest
-p : 前边的8080是本机的端口,冒号后面的8080是docker容器的端口,tomcat默认是8080
–name : 是给容器起一个别名,方便使用,不然docker会默认给容器一个随机字符串的名称
-v:文件挂载路径(上面命令未使用)
挂载war包:
docker cp demo.war mytomcat:/usr/local/tomcat/webapps
demo.war是我们war包的路径
mytomcat是我们给容器ID的另外命名
后面的是容器内部的路径
然后访问localhost:8080/demo 就可以看到了。
同时,我们可以进入容器内部,查看:
如果要停止,使用docker ps
获取CONTAINER ID
然后使用docker stop 容器号id
停止。
重启停止的:docker start 容器号id
用docker restar
重启
开启相同服务:docker run -p 8081:80 -d nginx
删除未运行的所有容器:sudo docker rm $(sudo docker ps -a -q)
查看已经停止的容器:docker ps -a
其他内容参考Docker 安装 Tomcat,不做赘述。
nginx的配置,可以参考Docker 安装 Nginx
Docker核心概念
- 镜像(Image)
- 容器(Container)
- 仓库(Repository)
这三部分组成了Docker的整个生命周期,如下图所示,容器是由镜像实例化而来的,这和我们学习的面向对象的概念十分相似,我们可以把镜像想象成类,把容器想象成类经过实例化后的对象,这样就非常好理解镜像和容器的关系了。