Docker安装和常见应用部署
前言
估计大家也可能听过Docker这项技术(在论坛上、招聘技能上、交流群上等等),要是不了解Docker,都不好意思在网上冲浪的时候吹牛逼了。
所以这几天学了一下Docker,总结了Docker入门的基础使用,分享给大家(好让我们一起吹牛逼)。
环境:centos7
一、下载安装Docker
首先需要明确自己所使用的环境,就我而言,我使用的是CentOS 7
。据我所知,CentOS 7
和CentOS 6.8
在安装中都是有区别的
所以,如果你想跟着我一起安装Docker,先明确自己的版本是否是CentOS 7
,如果不是只能找其他的教程来进行安装。
cat /etc/redhat-release
# 结果
CentOS Linux release 7.7.1908 (Core)
1.1 安装Docker
首先我们需要安装GCC相关的环境:
# 安装GCC相关的环境
yum -y install gcc
yum -y install gcc-c++
如果曾经安装过Docker(旧版本)的话,得先卸载,如果没有安装过,跳过这一步:
# 卸载旧Docker版本
yum -y remove docker docker-common docker-selinux docker-engine
安装Docker需要的依赖软件包:
# 安装Docker需要的依赖软件包:
yum install -y yum-utils device-mapper-persistent-data lvm2
设置stable镜像仓库(注意:我们这里使用国内的镜像地址【因为Docker 官网给出的地址在国外,太慢了!】)
# 设置stable镜像仓库:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新yum软件包索引:
# 更新yum软件包索引:
yum makecache fast
安装DOCKER CE(注意:Docker分为CE版和EE版,一般我们用CE版就够用了)
# 安装DOCKER CE:
yum -y install docker-ce
启动Docker,并设置开机自启
# 启动Docker
systemctl start docker
# 开机自启Docker
systemctl enable docker
1.2 万能的HelloWorld起飞
到上面为止,我们已经启动了Docker,下面我们检验一下我们运行的Docker是否正常。
首先,我们可以看看下载回来的Docker版本:
# 查看Docker的版本
docker version
版本都查到了,说明Docker是运行起来的啦。来一发HelloWorld:
# docker的HelloWorld
docker run hello-world
效果:
简单解释:docker run hello-world
这条命令指示Docker去运行hello-world
这个镜像,但是我们本地没有这份镜像啊。所以Docker就去DockerHub
拉取了一份hello-world
镜像,并运行起来了(生成容器)。这个hello-world
容器的功能就是一句话:Hello from Docker!
。所以我们在屏幕上就可以看到这句话了。
1.3 配置加速器
由于安装的Docker默认是去Docker Hub
找我们想要的镜像的,我们知道国外肯定没国内的快,所以我们一般会配置一个加速器
国内的镜像仓库一般我们使用的有:
- 阿里云
- 网易云
// 等等
首先,我们到下面链接搜索一下镜像,比如Tomcat
(这就需要我们注册/登录一个阿里云账号)
随后,我们可以在镜像加速器
上找到我们的url:
我们依照阿里云给出的教程,就可以配置加速器了。
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://cubmirje.mirror.aliyuncs.com"]
}
EOF
让配置生效,并重启Docker
systemctl daemon-reload
systemctl restart docker
二、使用Docker安装各种常见应用
2.1 Tomcat
拉取Tomcat镜像:
docker pull tomcat::9.0.31-jdk13-openjdk-oracle
运行这个Tomcat镜像,生成容器(守护方式后台运行)
docker run -di --name=tomcat -p 8080:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:9.0.31-jdk13-openjdk-oracle
设置开启自启动
docker update --restart=always Tomcat容器的id
浏览器查看:
2.2 Nginx
拉取Nginx镜像:
docker pull nginx
运行这个Tomcat镜像,生成容器(守护方式后台运行)
docker run -di --name=nginx -p 80:80 nginx
设置开启自启动
docker update --restart=always Nginx容器的id
浏览器查看:
2.3 MySQL
拉取MySQL镜像:
docker pull centos/mysql-80-centos7
运行这个Tomcat镜像,生成容器(守护方式后台运行)
docker run -di --name=mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=自定义密码 centos/mysql-80-centos7
设置开启自启动
docker update --restart=always MySQL容器的id
检测:
2.4 Redis
拉取Redis镜像:
docker pull redis
运行这个Tomcat镜像,生成容器(守护方式后台运行)
docker run -di --name=redis -p 6379:6379 redis
设置开启自启动
docker update --restart=always Redis容器的id
检测: