Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在Centos7上安装Docker

在Centos7上安装Docker

作者头像
Dream城堡
发布于 2018-09-10 04:41:57
发布于 2018-09-10 04:41:57
1.6K0
举报
文章被收录于专栏:Spring相关Spring相关

在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 输入的文件执行后再次查看镜像,可以看到镜像已经恢复

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.07.31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Docker常用命令备忘录
yum install docker 迅速安装 docker -v 查看版本 systemctl start|stop |restart |status |enable docker 启动、停止、重启、状态、开启启动docker docker info 查看简要信息 docker --help 查看帮助 docker images 查看所有的镜像(在/var/lib/docker目录) docker search imagename 搜索镜像 docker pull centos:7 拉取
青山师
2023/05/05
2330
分布式部署:第三章:Docker、MySQL、tomcat、Nginx、Redis部署
在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。
Java廖志伟
2022/09/28
1.4K0
分布式部署:第三章:Docker、MySQL、tomcat、Nginx、Redis部署
Docker的基本使用——常用docker命令
​ 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。
不愿意做鱼的小鲸鱼
2022/09/26
8030
Docker的基本使用——常用docker命令
一篇文章学会Docke
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
用户1212940
2019/11/13
6370
Docker 入门
虚拟化技术是一种计算机资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来。虚拟化技术打破了计算机实体结构间的,不可切割的障碍。使用户可以比原本的组态更好的方式,来应用这些资源。
RendaZhang
2020/12/16
8480
【Linux 篇】Docker 启动和停止的精准掌舵:操控指南
docker是一个开源的应用容器引擎,基于go语言开发。docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的linux机器上,也可以是实现虚拟化。相互之间不会有任何接口,容器的开销性能极低。 本文我们来介绍docker的使用方法
意疏
2024/11/25
1.9K0
【Linux 篇】Docker 启动和停止的精准掌舵:操控指南
关于 Docker 入门,这一篇就够了
说到 Docker ,你会常遇到两个内容:image 和 container (即镜像和容器) 关于镜像和容器,你可以这样来理解:镜像是构建 Docker 的基石,用户基于镜像来运行自己的容器。或者说,镜像是 Docker 生命周期中的构建或打包阶段,而容器则是启动或是执行阶段。好吧,说的再明白点儿,就是有了镜像,才有的容器。容器是在镜像的基础上,才有的。
纯洁的微笑
2019/09/25
8340
docker基础安装使用
Docker 是⼀个开源项⽬,诞⽣于 2013 年初,最初是 dotCloud 公司内部的⼀个业余项⽬。它基于 Google 公司推出的 Go 语⾔实现。 项⽬后来加⼊了 Linux 基⾦会,遵从了 Apache 2.0 协议,项⽬代码在 GitHub 上进⾏维护。
ha_lydms
2023/08/10
9180
docker基础安装使用
Centos7中Docker应用部署迁移与备份以及Dockerfile
-p:代表端口映射,33306是宿主机的端口,3306是容器的端口,这样我们就可以通过33306这个端口去操作容器中的mysql
帅的一麻皮
2020/03/08
1.7K0
【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署
注意在应用部署之前,docker 服务必须是开启状态 systemctl start docker。
全栈程序员站长
2022/11/17
1.1K0
【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署
docker
docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
张哥编程
2024/12/13
1480
docker
docker安装nginx,gitlab,maven私服,mysql
docker run java 直接进行下载并安装 docker pull java 仅仅下载到镜像 docker images 查看镜像 docker search java 搜索镜像 docker rmi id(从docker images中查找)删除指定镜像 Docker rm 容器id 删除容器id docker pull 下载镜像 docker run 下载并安装镜像 docker ps 查看有哪些镜像正在运行 docker inspect 容器id 查看容器信息 systemctl restart docker 重启docker(如果启动不了docker可以先重启) docker build –t 镜像名称:标签 Dockerfile的相对位置 打成docker的镜像文件 docker info查看docker相关信息 docker inspect 容器ID | grep IPAddress 查看docker的ip地址 docker stop 容器ID 停止某个容器运行 docker exec -it 容器id bash 进入docker //关闭防火墙 systemctl stop firewalld.service //禁用 systemctl disable firewalld.service docker exec -it 容器id /bin/bash 进入容器 docker exec -it 容器name /bin/bash 进入容器 docker rm $(sudo docker ps -a -q) 删除所有未运行的容器 docker search elasticsearch搜索镜像文件 docker run 创建并启动一个容器,在run后面加上-d参数,就是后台启动不加-d就是前台启动 docker ps -a 查看已经创建的容器 docker ps -s查看已经启动的容器 docker start con_name 启动容器名为con_name的容器 docker stop con_name 停止容器名为con_name的容器 docker rm con_name 删除容器名为con_name的容器 docker rename old_name new_name 重命名一个容器 docker lgos --tail="10" 容器名称查询容器日志信息 free -m 查看内存使用容量 docker cp testtomcat:/usr/local/tomcat/webapps/test/js/test.js /opt Testtomcat是容器名称,test.js是容器的路径,/opt是要复制到宿主机上的路径,容器复制到宿主机 docker cp /opt/test.js testtomcat:/usr/local/tomcat/webapps/test/js /opt/test.js是宿主机上的文件,/usr/local/tomcat/webapps/test/js是容器中的路径,testtomcat是容器名称 宿主机拷贝到容器 https://www.cnblogs.com/areyouready/p/8973495.html
编程软文
2020/03/11
1.1K0
CentOS安装Docker
Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。
不吃紫菜
2023/02/13
8.8K0
CentOS安装Docker
客快物流大数据项目(十):Docker容器命令
可以在创建容器的时候,将宿主机的目录和容器内的目录进行映射,这样就可以通过修改宿主机的某个目录的文件从而去影响容器
Lansonli
2021/12/29
3440
客快物流大数据项目(十):Docker容器命令
Docker
通过dockerfile构建镜像: docker build -f dockerfile文件路径 -t 镜像名称:版本
六个周
2022/10/28
7260
Docker
《前端运维》三、Docker--2其他
   docker的镜像类似于用一层一层的文件组成。inspect命令可以查看镜像或容器的的信息,其中Layers就是镜像的层文件,只读不能修改,基于镜像创建的容器会共享这些层。下面我们先来学习一下dockerFile中的一些命令:
zaking
2022/05/10
8710
《前端运维》三、Docker--2其他
CentOS 7安装Docker
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
青衫染红尘
2021/01/19
7250
微服务之Docker知识点总结
说是初识,但我其实已经不是初识了。因为我在学习微服务之前,就学过docker了。当时写过一篇Docker入门的博客,但是由于我当时并没有微服务的概念,所以学习得并不深入,并没有真正的用起来,只是学习了一些概念性的东西。所以我这篇博客决定与微服务结合起来学习,会把Docker给用起来。
害恶细君
2022/11/22
6530
微服务之Docker知识点总结
springboot第26集:centos,docker
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
达达前端
2023/10/08
3100
springboot第26集:centos,docker
在windows/linux/docker中,如何安装Nginx
http://nginx.org/en/download.html 下载稳定版本。 以nginx/Windows-1.16.1为例,直接下载 nginx-1.16.1.zip。 下载后解压,解压后如下:
李昂君
2021/12/24
1.2K0
在windows/linux/docker中,如何安装Nginx
相关推荐
Docker常用命令备忘录
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档