前言
在企业的开发过程中,我们一般会接触多个环境。开发环境(DEV)、测试环境(UAT)、生产环境(PROD)、验收测试环境(UAT)等。在工作中以及学习中其实很多时间是花费在环境的搭建中,学习的过程中,我们需要自己从 0 开始,很多同学在搭建环境的过程中出现很多问题,环境搭建不成功,导致没办法继续后面的学习。工作过程中会出现,明明在自己本地环境甚至是测试环境都可以正常运行的程序,发布到另一个环境后就是无法运行。这个时候极有可能是因为环境导致的问题。
以上的问题归根结底都是因为环境造成的,而docker
就是解决因为环境造成的一些列问题。Docker 是世界领先的软件容器平台,开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用 Docker 可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用 Docker 可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为 Linux 和 Windows Server 应用发布新功能。
本篇文章主要是介绍如何在 Centos7 系统上安装 docker 以及 docker 的一些基本使用。
开始安装
卸载旧版本
首先卸载掉服务器中 docker 的历史版本。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
复制代码
安装基础环境
sudo yum install -y yum-utils
复制代码
配置 docker 地址
设置安装 docker 时的下载地址
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
复制代码
或者
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
复制代码
更新 yum 缓存
执行安装命令
安装最新版本的 Docker 引擎和 containerd
sudo yum install docker-ce docker-ce-cli containerd.io
复制代码
安装指定版本的 docker 引擎和 containerd
sudo yum install -y docker-ce-18.09.7 docker-ce-cli-18.09.7 containerd.io
复制代码
启动 Docker
sudo systemctl start docker
// 设置开机自启
sudo systemctl enable docker
复制代码
查看版本信息
配置镜像加速器
默认的镜像是从国外的地址进行下载。因为某些原因,访问国外的资源很慢而且可能失败,所以需要配置国内的镜像地址,这样拉取镜像的时候就会快一些。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://m6wt1u9u.mirror.aliyuncs.com"]
}
EOF
复制代码
或者
vi /etc/docker/daemon.json
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
复制代码
重启 docker
sudo systemctl daemon-reload
sudo systemctl restart docker
复制代码
docker 常用命令
查看版本号
常看相信信息
帮助命令
docker --help
或者
docker help
或者指定查看命令
docker run --help
复制代码
查看本地镜像列表
拉取远程镜像
docker pull hello-world # hello-world 是具体镜像的名字
复制代码
搜索远程仓库中的镜像
运行镜像创建容器
docker run --name="mycentos" -it centos:latest
交互式启动,即启动并进入容器的Linux环境
或者
docker run -d --name="mytomcat" tomcat:7
后台启动
复制代码
进入容器
docker exec -it 8edd4b5a3ba1 /bin/bash
# 8edd4b5a3ba1是具体的容器id
复制代码
退出容器
exit
退出并关闭容器
或者
Ctrl+p+q
退出不关闭容器
复制代码
查看启动容器
停止容器
docker stop mycentos
或者
docker kill mycentos
复制代码
以上是对 docker 的安装的步骤说明。最后也简单列出了几个基础命令,以便在 docker 安装成功后进行功能的验证测试。
DockerFile
Dockerfile 是用来构建 Docker 镜像的构建文件,是由一系列命令和参数构成的脚本。
指令
FROM:基础镜像,当前新镜像是基于哪个镜像的
MAINTAINER:镜像维护者的姓名和邮箱地址
MAINTAINER description
后期版本用
LABEL代替
复制代码
RUN:容器构建时需要运行的 Linux 命令
EXPOSE:容器对外暴露的端口号
WORKDIR:进入容器终端时默认的目录
WORKDIR /usr/local/tomcat
复制代码
ARG:设置编译竟像时加入的参数
ARG JAR_FILE
SpringBoot项目打包镜像时pom.xml里面的标签的值
复制代码
ENV:设置容器的环境变量
ENV JAVA_HOME /usr/local/java
复制代码
ADD:将宿主机目录下的文件拷贝到镜像目录并解压
ADD /opt/spring-boot.jar /tmp
复制代码
COPY:将宿主机目录下的文件拷贝到镜像目录
COPY:/opt/spring-boot.jar /tmp
Springboot项目优先选用COPY,因为不需要解压
复制代码
VOLUME:容器数据卷,用于数据保存和持久化工作
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
复制代码
CMD:容器启动时要运行的命令,只有最后一个生效,会被参数行替代
CMD ["java","-jar","spring-boot.jar]
复制代码
ENTRYPOINT:容器启动时要运行的命令,参数行命令是追加
ENTRYPOINT ["java","-jar","spring-boot.jar]
复制代码
评论