centos7 docker安装和使用_入门教程

centos7 docker安装和使用_入门教程
原文:centos7 docker安装和使用_入门教程

说明:本文也是参考互联网上的文章写的,感谢相关作者的贡献。

操作系统

64位CentOS Linux release 7.2.1511 (Core)

配置好IP:192.168.1.160

修改yum源

目的是提升对docker的下载速度。

1.备份你的原镜像文件,以免出错后可以恢复。

[root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2.下载新的CentOS-Base.repo 到/etc/yum.repos.d/

[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3.运行yum makecache生成缓存

[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache

安装Docker

[root@localhost ~]# yum -y install docker-io

要稍等几分钟才能安装好。网速快的话几十秒吧。

启动Docker

[root@localhost ~]# systemctl start docker

发现会报错:

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

按照提示执行:

[root@localhost ~]# systemctl status docker.service

会有提示信息如下:

● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)Active: failed (Result: exit-code) since 三 2018-05-02 23:34:46 CST; 52s agoDocs: http://docs.docker.comProcess: 14416 ExecStart=/usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current --seccomp-profile=/etc/docker/seccomp.json $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY $REGISTRIES (code=exited, status=1/FAILURE)Main PID: 14416 (code=exited, status=1/FAILURE)5月 02 23:34:45 localhost.localdomain systemd[1]: Starting Docker Application Container Engine...
5月 02 23:34:45 localhost.localdomain dockerd-current[14416]: time="2018-05-02T23:34:45.527821208+08:00" level=warning msg="could not change group /var/run/...t found"
5月 02 23:34:45 localhost.localdomain dockerd-current[14416]: time="2018-05-02T23:34:45.532650572+08:00" level=info msg="libcontainerd: new containerd proce...: 14421"
5月 02 23:34:46 localhost.localdomain dockerd-current[14416]: time="2018-05-02T23:34:46.539484373+08:00" level=warning msg="overlay2: the backing xfs filesystem is ...
5月 02 23:34:46 localhost.localdomain dockerd-current[14416]: Error starting daemon: SELinux is not supported with the overlay2 graph driver on this kernel....d=false)
5月 02 23:34:46 localhost.localdomain systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
5月 02 23:34:46 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.
5月 02 23:34:46 localhost.localdomain systemd[1]: Unit docker.service entered failed state.
5月 02 23:34:46 localhost.localdomain systemd[1]: docker.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

红色部分告诉我们此linux的内核中的SELinux不支持 overlay2 graph driver,解决方法有两个,要么启动一个新内核,要么就在docker里禁用selinux,设置--selinux-enabled=false。我们采用第二种方式。

[root@localhost ~]# vi /etc/sysconfig/docker

然后将--selinux-enabled设置成false,保存并退出。

# /etc/sysconfig/docker# Modify these options if you want to change the way the docker daemon runs
OPTIONS='--selinux-enabled=false --log-driver=journald --signature-verification=false'
if [ -z "${DOCKER_CERT_PATH}" ]; thenDOCKER_CERT_PATH=/etc/docker
fi
# ......省略N行

重新启动

[root@localhost ~]# systemctl start docker

查看版本号

[root@localhost ~]# docker -v

Docker version 1.13.1, build 774336d/1.13.1

至此docker启动成功

修改Docker镜像加速器

因为国外的docker镜像访问太慢,所以我们需要修改成阿里云的docker镜像。这样从国内镜像拉取速度会快点。

1.打开阿里云docker仓库地址https://dev.aliyun.com/search.html

2.淘宝账号即可登录,登录后点击自己的管理中心。

3.点击管理中心左侧菜单栏的“镜像加速器”,右边面板会有你的加速地址,面板下面有详细设置步骤。如下图:

[root@localhost ~]# vi /etc/docker/daemon.json

将下面整行字符拷贝进去,保存并退出。

"registry-mirrors": ["https://njrds9qc.mirror.aliyuncs.com"]

 刷新daemon

[root@localhost ~]# systemctl daemon-reload

重启docker

[root@localhost ~]# systemctl restart docker

拉取镜像

以hello-world为例

[root@localhost tmp]# docker pull hello-world
Using default tag: latest
Trying to pull repository docker.io/library/hello-world ... 
latest: Pulling from docker.io/library/hello-world
9bb5a5d4561a: Pull complete 
Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77
Status: Downloaded newer image for docker.io/hello-world:latest

表示成功拉取

运行镜像

[root@localhost tmp]# docker run hello-worldHello from Docker!
This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps:1. The Docker client contacted the Docker daemon.2. The Docker daemon pulled the "hello-world" image from the Docker Hub.(amd64)3. The Docker daemon created a new container from that image which runs theexecutable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client, which sent itto your terminal.To try something more ambitious, you can run an Ubuntu container with:$ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID:https://hub.docker.com/

For more examples and ideas, visit:https://docs.docker.com/engine/userguide/

成功运行。

简单操作命令

镜像

docker pull 镜像名称[:版本]

拉取镜像,如果版本为空,则拉取最新的版本

 

docker run 镜像名称或ID

运行镜像,创建容器

 

docker run -it 镜像名称或ID

运行镜像,创建容器,并进入该容器。

-i表示以交互模式运行容器,通常与 -t 同时使用;

-t表示为容器重新分配一个伪输入终端,通常与 -i 同时使用;

另外还有很多参数,可参考http://www.runoob.com/docker/docker-run-command.html

 

docker rmi 镜像名称或ID

根据名称或ID删除镜像

容器

docker ps

列出容器

-a显示所有的容器,包括未运行的

-q 静默模式,只显示容器编号,通常和-a一起使用,docker ps -aq

 

docker rm 容器名称或ID

根据名称或者ID删除容器,如果带上参数-f,表示强制删除正在运行的容器

 

docker rm $(docker ps -aq)

表示删除所有容器

 

docker start 容器名称或ID

根据名称或者ID启动容器

 

docker stop 容器名称或ID

根据名称或者ID停止容器

 

docker attach id

进入某个容器(使用exit退出后容器也跟着停止运行)

 

docker exec -ti id

启动一个伪终端以交互式的方式进入某个容器(使用exit退出后容器不停止运行)

posted on 2019-02-21 13:05 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/10411798.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264742.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言中字符串和字符数组的区别

参考:C语言中字符串和字符数组的区别 参考:字符数组和字符串的区别,C语言字符数组和字符串区别详解 这里写目录标题区别代码分析一代码分析二总结区别 (1)C语言中,没有字符串类型但可以用字符数组模拟字符…

spring in action 读书笔记

IOC 1.几个主要使用的application context. ClassPathXmlApplicationContext 从ClassPath路径加载 FileSystemXmlApplicationContext 从文件系统路径加载XmlWebApplicationContext 配置文件黑夜在/WEB-INF/applicationContext.xml,也可以使用setConfigLocation…

C语言可变参数

参考:https://blog.csdn.net/u013171226/article/details/121445507 目录什么是可变参数可变参数列表构成实现原理(va_list系列变参宏实现变参函数)代码示例函数通过固定参数指定可变参数个数,打印所有变参值函数定义一个结束标记(-1),调用时…

940mx黑苹果驱动_超详细黑苹果安装图文教程送EFI配置合集及系统

一、准备工作所有工具在:黑苹果资源站可以下载到 网站地址:https://jnzr.ewys.net/1、两张16g的u盘 其中一张安装pe系统 (老毛桃等)这里自行安装2、电脑(废话)这里以小米pro笔记本做教程 其余的本本大同小异3、工具包及镜像以及EFI合集(链接及下载地址在…

python时间减法_干!一张图整理了 Python 所有内置异常

在编写程序时,可能会经常报出一些异常,很大一方面原因是自己的疏忽大意导致程序给出错误信息,另一方面是因为有些异常是程序运行时不可避免的,比如在爬虫时可能有几个网页的结构不一致,这时两种结构的网页用同一套代码…

笔记本电脑频繁自动重启_笔记本电脑自动重启是什么原因

使用电脑很长一段时间就会出现各种各样的问题,但不管出了什么问题,只要电脑能打开有一种方法可以解决的问题,但有时电脑会莫名其妙的重启,电脑爱好者我们有点不知所措。尤其是办公室人员做了很长时间的工作,想要面对以…

新快现类似产品_小米全新折叠屏产品曝光,预计今年还有更多折叠屏产品亮相...

虽然目前小米并未正式推出旗下的折叠屏设备,但这并不意味着小米放弃了这方面的研究。相反,近日的一些爆料显示了小米在折叠屏设备领域有着多种不同的设想和思路。上个月的相关爆料曾提到过,小米2021年有望推出外折型、内折型和翻盖式三种不同…

全虚拟化和半虚拟化的区别 cpu的ring0~ring3又是什么概念?

ring0是指CPU的运行级别,ring0是最高级别,ring1次之,ring2更次之…… 拿Linuxx86来说, 操作系统(内核)的代码运行在最高运行级别ring0上,可以使用特权指令,控制中断、修改页表、访问…

dual mysql 获取序列_MySQL JDBC客户端反序列化漏洞

标题: MySQL JDBC客户端反序列化漏洞☆ 背景介绍☆ 学习思路☆ 搭建测试环境☆ 恶意MySQL插件 1) 获取MySQL 5.7.28源码 2) 在rewrite_example基础上修改出evilreplace☆ 测试rewriter插件 1) 安装rewriter.so 2) 在服务端替换SQL查询语句 3) 卸载rewriter.so …

kali linux之edb--CrossFire缓冲区溢出

漏洞的罪恶根源------变量,数据与代码边界不清,开发人员对用户输入没做过滤,或者过滤不严 如这个脚本,写什么,显示什么,但是加上;,|,&&,后面加上系统…

SQL连接查询深度探险

测试环境:Windows XP ProfessionMySQL 5.0.45Oracle 9iDB2 UDB 9.1测试的SQL脚本如下:此脚本适合MySQL、DB2,如果要在Oracle上执行,需要做个替换BIGINTINTEGER、VARCHARVARCHAR2。CREATETABLECUSTOMERS (ID BIGINT NOTNULL,NAME V…

自锁时间电路plc_1篇文章,4幅图,了解PLC接线和控制图就是这么简单

有网友留言说看不懂plc梯形图,不知道如何将电气控制原理图转化为plc接线图,今天就系统的来看一下plc的原理和接线,再转化为plc接线图,我们需要借助一个最简单的单向过载保护的自锁控制电路。来看一下电路元器件,FR热机…

Python~字典快速上手

目录 Key的重要性 一 创建字典{} 二 字典用key查找 in(遍历)和[]用key查找 keyerror in和[]的效率对比 三 字典的插入/修改/删除(先查找) ​编辑 四 字典增删查改/遍历的效率 五 字典的遍历 for遍历可迭代对象拿到key 与创建顺序相同 keys/values/items方法 六 可…

活动目录服务器(windows server 2008)

1、在服务器管理器中添加角色,勾选Active Directory域服务、DNS服务器进行安装2、安装好后运行dcpromo进入域服务安装向导,选择高级模式安装3、出现部署配置时,勾选新林中新建4、在命名林输入域名称(ganen5.local)5、在…

漫步者蓝牙只有一边有声音_漫步者DreamPods半个月上手体验:谈谈那些好的和不好的地方...

随着手机逐渐取消了耳机孔,越来越多的人们开始使用上了蓝牙耳机。在当今这个飞速发展的时代,蓝牙耳机蓝无疑成为了新时代的宠儿。无论是上班族还是当代大学生等年轻化群体,蓝牙耳机无疑成为了一个不错的喜好选择。但是面对市面上如此多的蓝牙…

c++ 输出控制iomanip

2019独角兽企业重金招聘Python工程师标准>>> 1输出精度控制 #include<iostream> #include <iomanip>//精度控制相关头文件 using namespace std;int main(){streamsize preccout.precision(); //获取默认精度 cout<<"default precisi…

c++ 可视化界面_这些算法可视化网站助你轻松学算法

作者&#xff1a;守望&#xff0c;Linux应用开发者&#xff0c;目前在公众号【编程珠玑】 分享Linux/C/C/数据结构与算法/工具等原创技术文章和学习资源。前言无疑&#xff0c;数据结构与算法学习最大的难点之一就是如何在脑中形象化其抽象的逻辑步骤。而图像在很多时候能够大大…

2. with check option能起什么作用?_面部毛孔粗大,有什么拯救的方法吗?

很多妹子都有毛孔粗大的问题&#xff0c;却苦恼于怎么改善&#xff0c;用错方法可能会刺激毛孔&#xff0c;但是你知道毛孔粗大的原因吗&#xff1f;首先&#xff0c;先搞清楚自己是什么类型的毛孔粗大&#xff0c;再对症下药。 &#xfffc;皮脂分泌旺盛这是毛孔粗大最常见的原…

Apache Spark源码走读之4 -- DStream实时流数据处理

欢迎转载&#xff0c;转载请注明出处&#xff0c;徽沪一郎。 Spark Streaming能够对流数据进行近乎实时的速度进行数据处理。采用了不同于一般的流式数据处理模型&#xff0c;该模型使得Spark Streaming有非常高的处理速度&#xff0c;与storm相比拥有更高的吞能力。 本篇简要分…

antd-react-mobile(踩坑记录)

1.按照官网步骤进行&#xff0c; $ npm install -g create-react-app # 注意&#xff1a;工具会自动初始化一个脚手架并安装 React 项目的各种必要依赖&#xff0c;如果在过程中出现网络问题&#xff0c;请尝试配置代理或使用 其他 npm registry。 $ create-react-app my-app …