Centos7安装系统安装docker

简介: docker centos7

前言

在企业的开发过程中,我们一般会接触多个环境。开发环境(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缓存

sudo yum makecache fast

执行安装命令

安装最新版本的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 docker version

配置镜像加速器

默认的镜像是从国外的地址进行下载。因为某些原因,访问国外的资源很慢而且可能失败,所以需要配置国内的镜像地址,这样拉取镜像的时候就会快一些。

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 version

常看相信信息

docker info

帮助命令

docker --help
或者
docker help
或者指定查看命令
docker run --help

查看本地镜像列表

docker images

拉取远程镜像

docker pull hello-world # hello-world 是具体镜像的名字

搜索远程仓库中的镜像

docker search tomcat

运行镜像创建容器

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 ps

停止容器

docker stop mycentos
或者
docker kill mycentos

以上是对docker的安装的步骤说明。最后也简单列出了几个基础命令,以便在docker安装成功后进行功能的验证测试。

DockerFile

Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。

指令

FROM:基础镜像,当前新镜像是基于哪个镜像的

FROM centos

MAINTAINER:镜像维护者的姓名和邮箱地址

MAINTAINER description
后期版本用
LABEL代替

RUN:容器构建时需要运行的Linux命令

RUN yum install -y vim

EXPOSE:容器对外暴露的端口号

EXPOSE 8080

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]
相关文章
|
21天前
|
弹性计算 关系型数据库 MySQL
centos7 mysql安装及配置
本文详细介绍了在阿里云服务器ECS上通过yum源安装MySQL 8.0.12的过程,包括更新yum源、下载并安装MySQL源、解决安装过程中可能遇到的问题等步骤。此外,还介绍了如何启动MySQL服务、设置开机自启、配置登录密码、添加远程登录用户以及处理远程连接异常等问题。适合初学者参考,帮助快速搭建MySQL环境。
109 8
centos7 mysql安装及配置
|
18天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
18天前
|
Ubuntu Linux Docker
Ubuntu 18.04 安装Docker实战案例
关于如何在Ubuntu 18.04系统上安装Docker的实战案例,包括安装步骤、配置镜像加速以及下载和运行Docker镜像的过程。
105 3
Ubuntu 18.04 安装Docker实战案例
|
18天前
|
存储 Linux Docker
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
关于如何在CentOS 7.6上安装Docker、介绍Docker存储引擎以及服务进程关系的实战案例。
64 3
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
|
5天前
|
Prometheus 监控 Cloud Native
docker安装prometheus+Granfan并监控容器
【9月更文挑战第14天】本文介绍了在Docker中安装Prometheus与Grafana并监控容器的步骤,包括创建配置文件、运行Prometheus与Grafana容器,以及在Grafana中配置数据源和创建监控仪表盘,展示了如何通过Prometheus抓取数据并利用Grafana展示容器的CPU使用率等关键指标。
|
19天前
|
Docker 容器
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
|
22天前
|
jenkins Java 持续交付
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
|
4月前
|
缓存 关系型数据库 MySQL
百度搜索:蓝易云【CentOS8服务器安装MySQL报错:no match mysql-community-server】
现在,你已经成功安装了MySQL服务器并解决了"no match mysql-community-server"的报错问题。祝你使用愉快!
87 1
|
3月前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
511 4
|
1月前
|
网络协议 Linux
CentOS7 yum安装报错“Could not resolve host: mirrorlist.centos.org;"之解决办法(换源)
CentOS7 yum安装报错“Could not resolve host: mirrorlist.centos.org; Name or service not known“之解决办法(换源)