在Centos7上安装Docker

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 在Centos7上安装Docker-ce直接用yum install docker -y安装的docker版本为1.12,但是docker发展很快,现在都18.03.1了。

在Centos7上安装Docker-ce直接用yum install docker -y安装的docker版本为1.12,但是docker发展很快,现在都18.03.1了。docker-ce是指docker的社区版。1、安装 yum-utils,它提供了 yum-config-manager,可用来管理yum源yum install -y yum-utils

2、添加Docker-CE的yum源yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

如果下不了就直接拷贝文件到 /etc/yum.repos.d/docker-ce.repo如果不能更新 显示被锁 就删除那个锁的文件rm .pid的这个文件3、更新yum源索引yum makecache fast

4、yum安装 docker-ceyum install docker-ce -y

5、启动与停止Dockersystemctl命令是系统服务管理器指令,它是 service 和 chkconfig 两个命令组合。?启动docker:systemctl start?docker?停止docker:systemctl stop?docker?重启docker:systemctl restart?docker?查看docker状态:systemctl status?docker?开机启动:systemctl enable?docker

6、验证是否安装成功docker info

列出docker下的所有镜像:docker images

?REPOSITORY:镜像所在的仓库名称?TAG:镜像标签?IMAGE ID:镜像ID?CREATED:镜像的创建日期(不是获取该镜像的日期)?SIZE:镜像大小?这些镜像都是存储在Docker宿主机的/var/lib/docker目录下

3.3搜索镜像如果你需要从网络中查找需要的镜像,可以通过以下命令搜索docker search 镜像名称

?NAME:仓库名称?DESCRIPTION:镜像描述?STARS:用户评价,反应一个镜像的受欢迎程度?OFFICIAL:是否官方AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的

3.4.1从Docker Hub拉取Docker镜像首页,包括官方镜像和其它公开镜像

使用命令拉取:docker pull centos:7目前国内访问docker hub速度上有点尴尬,使用docker Mirror势在必行。现有国内提供docker镜像加速服务的商家有不少,下面重点daocloud镜像加速。3.4.1.1使用Docker加速器针对Docker客户端版本大于1.8的用户注册https://www.daocloud.io

在Linux命令行下执行如下命令来使用加速器:curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://8b4bf98a.m.daocloud.io

systemctl daemon-reload

systemctl restart docker

3.5删除镜像1、docker rmi $IMAGE_ID:删除指定镜像2、docker rmi docker images -q:删除所有镜像

4.Docker容器操作4.1查看容器?查看正在运行容器:docker ps?查看所有的容器(启动过的历史容器):docker ps –a

?查看最后一次运行的容器:docker ps –l

?查看停止的容器docker ps -f status=exited

4.2创建与启动容器?创建容器常用的参数说明:?创建容器命令:docker run?-i:表示运行容器?-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。?--name :为创建的容器命名。?-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。?-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。?-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

4.1.1交互式容器创建一个交互式容器并取名为mycentosdocker run -it --name=mycentos centos:7 /bin/bash这时我们通过ps命令查看,发现可以看到启动的容器,状态为启动状态

使用exit命令 退出当前容器

然后用ps -a 命令查看发现该容器也随之停止:

守护式容器创建一个守护式容器:如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。命令如下(容器名称不能重复):docker run -di --name=mycentos2 centos:7?登录守护式容器方式:docker exec -it container_name (或者 container_id) /bin/bash(exit退出时,容器不会停止)

4.3停止与启动容器?停止正在运行的容器:docker stop $CONTAINER_NAME/ID

?启动已运行过的容器:docker start $CONTAINER_NAME/ID

4.4文件拷贝如果我们需要将文件拷贝到容器内可以使用cp命令docker cp 需要拷贝的文件或目录 容器名称:容器目录也可以将文件从容器内拷贝出来docker cp 容器名称:容器目录 需要拷贝的文件或目录4.5目录挂载我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。创建容器 添加-v参数 后边为 宿主机目录:容器目录docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos2 centos:7如果你共享的是多级的目录,可能会出现权限不足的提示。

这是因为CentOS7中的安全模块selinux把权限禁掉了,我们需要添加参数 --privileged=true 来解决挂载的目录没有权限的问题4.6查看容器IP地址我们可以通过以下命令查看容器运行的各种数据docker inspect mycentos2也可以直接执行下面的命令直接输出IP地址docker inspect --format='{{.NetworkSettings.IPAddress}}' mycentos2

4.7删除容器?删除指定的容器:docker rm $CONTAINER_ID/NAME

注意,只能删除停止的容器?删除所有容器:docker rm docker ps -a -q

5.部署应用5.1 MySQL部署5.1.1拉取MySQL镜像docker pull mysql

查看镜像

5.1.2创建MySQL容器docker run -di --name=123_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql-p 代表端口映射,格式为 宿主机映射端口:容器运行端口-e 代表添加环境变量 MYSQL_ROOT_PASSWORD是root用户的登陆密码5.1.3进入MySQL容器,登陆MySQL 进入mysql容器docker exec -it 123_mysql /bin/bash登陆mysqlmysql -u root -p5.1.4远程登陆MySQL(1)我们在我们本机的电脑上去连接虚拟机Centos中的Docker容器,这里192.168.247.130是虚拟机操作系统的IP

5.1.5查看容器IP地址我们可以通过以下命令查看容器运行的各种数据docker inspect 123_mysql运行效果如下:

我们可以看到我们的数据库服务器的IP是172.17.0.2 5.2 tomcat部署5.2.1拉取tomcat镜像docker pull tomcat:8.5-jre85.2.2创建tomcat容器创建容器用于部署java web应用 -p表示地址映射docker run -di --name=123_tomcat -p 9000:8080 -v /usr/local/myhtml:/usr/local/tomcat/webapps --privileged=true tomcat:8.5-jre85.3 Nginx部署5.3.1拉取Nginx镜像docker pull nginx5.3.2创建Nginx容器docker run -di --name=123_nginx -p 80:80 nginx5.3.3测试Nginx浏览器地址栏输入: http://192.168.247.135

5.3.4配置反向代理官方的nginx镜像,nginx配置文件default.conf 在/etc/nginx/conf.d目录下。在容器内编辑配置文件不方便,我们可以先将配置文件从容器内拷贝到宿主机,编辑修改后再拷贝回去。(1)从容器拷贝配置文件到宿主机docker cp 123_nginx:/etc/nginx/conf.d/default.conf default.conf (2)编辑default.conf,添加反向代理配置upstream daili { server 172.17.0.7:8080;}server { listen 80; server_name www.test.com; location / { proxy_pass http://daili; index index.html index.htm; }}

(3)将修改后的配置文件拷贝到容器docker cp default.conf 123_nginx:/etc/nginx/conf.d/default.conf(4)重新启动容器docker restart 123_nginx(5)设置域名指向192.168.247.135 www.test.com 5.4 Redis部署5.4.1拉取Redis镜像docker pull redis5.4.2创建Redis容器 docker run -di --name=123_redis -p 6379:6379 redis

5.4.3客户端测试在你的本地电脑命令提示符下,用window版本redis客户端测试redis-cli -h 192.168.247.135

6.备份与迁移6.1容器保存为镜像我们可以通过以下命令将容器保存为镜像docker commit 123_nginx mynginx123_nginx是容器名称mynginx是新的镜像名称此镜像的内容就是你当前容器的内容,接下来你可以用此镜像再次运行新的容器6.2镜像备份docker save -o mynginx.tar mynginx-o 输出到的文件执行后,运行ls命令即可看到打成的tar包

<pre spellcheck="false" class="md-fences md-end-block contain-cm modeLoaded" lang="" contenteditable="false" cid="n484" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: Consolas, "Liberation Mono", Courier, monospace; font-size: 0.9em; white-space: normal; display: block; break-inside: avoid; text-align: left; background-image: inherit; background-position: inherit; background-size: inherit; background-repeat: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(223, 226, 229); border-radius: 3px; padding: 8px 1em 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: rgb(51, 51, 51); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">到此,镜像就都打包完成了,如果在一台新机器还原docker镜像,只需要使用:docker load --input centos_nginx.tar就可以了。6.3镜像恢复与迁移</pre>

首先我们先删除掉mynginx镜像然后执行此命令进行恢复docker load --i mynginx.tar-i 输入的文件执行后再次查看镜像,可以看到镜像已经恢复

相关文章
|
3月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
713 69
|
2月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
858 3
|
4月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
2月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
267 3
docker 安装 Postgres 17.6
|
1月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
261 5
|
3月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
334 78
|
1月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
280 2
|
2月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
444 16
|
3月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
272 10