初探Docker容器部署应用服务
目前几乎所有的业务都是在虚拟机上部署,今天要给大家分享的是尝试docker容器化部署,在这里先部署一个简单的nginx服务。
一、安装docker
(一)前置条件:
CentOS系统(这里我们选择CentOS系统,当然也可以是Ubuntu或其他Linux平台)
64位操作系统(命令:getconf LONG_BIT)、3.10及以上内核版本
相关命令:
查看系统版本: cat /etc/redhat-release
查看内核版本:uname -r
cat /proc/version
(二)使用yum软件包管理器进行安装:
1、首先进行系统包更新,确保现有包是最新的
命令:yum update
2、 添加yum仓库
命令:
tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
备注:tee命令是读取输入的内容,并重定向到文件中保存
(三)安装docker
1、安装docker包
yum install docker-engine
2、将docker设置为开机自启动
systemctl enable docker.service
3、启动docker服务
systemctl start docker
4、通过运行容器中的一个镜像来验证docker安装是否成功
docker run --rm hello-world
二、安装docker-compose(compose可以实现应用中启动多容器)
1、下载compose并重定向到docker-compose文件中
curl -L "https://github.com/docker/compose/releases/download/1.8.1/docker-compose-$(uname -s)-$(uname -m)" > /usr/local/bin/docker-compose
2、给文件赋权限
chmod +x /usr/local/bin/docker-compose
3、安装好后查看compose版本
docker-compose –version
三、制作基础镜像
1、写dockerfile文件
创建目录,创建dockerfile文件,命令:
mkdir mydockerbuild
cd mydockerbuild
touch Dockerfile
Dockerfile文件中写入内容:
FROM docker/ubuntu:latest (说明使用的基础镜像)
RUN apt-get -y update && apt-get install -y nginx (先更新软件包列表,然后安装nginx)
EXPOSE 80 443
CMD ["nginx", "-g", "daemon off;"]
(daemon off前台运行,g设置全局指令)
2、利用dockerfile文件制作镜像
docker build -t mynginx .
备注:docker build命令生成镜像(mynginx指的是要生成的镜像名称,最后的.一定要有,表示在当前目录)
3、启动镜像
docker run -d -p 80:80 mynginx(后台启动,暴露端口供外部访问,80:80,宿主机端口:容器端口)
四、制作业务镜像(新增业务代码到基础镜像)
镜像文件内容:
FROM docker/ubuntu:latest (说明使用的基础镜像)
RUN apt-get -y update && apt-get install -y nginx (先更新软件包列表,然后安装nginx)
EXPOSE 80 443
CMD ["nginx", "-g", "daemon off;"]
COPY index.html /var/www/html/
启动成功:
到这里,一个简单的nginx服务就成功启动了,当然这真的仅仅是一个简单服务。
附上docker官网链接:http://www.docker.com