Docker基础教程快速入门 Linux CentOS安装与使用Docker容器
Docker 介绍
Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。
Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。
总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。
点击购买阿里云云服务器,建议买香港可以免备案,系统镜像选择CentOS7或者用自己现有服务器
CentOS Docker 安装
Docker 支持以下的 64 位 CentOS 版本:CentOS 7、CentOS 8、更高版本
使用官方安装脚本自动安装
curl -fsSL https://get.docker.com | bash -s docker --mirror aliyun

直到安装结束
设置 Docker 仓库
安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

使用以下命令来设置稳定的仓库。选择国内的阿里云
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装 Docker Engine-Community
sudo yum install docker-ce docker-ce-cli containerd.io

好了,到这里安装工作已完毕。
启动 Docker
sudo systemctl start docker
通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 。
sudo docker run hello-world
使用Docker
docker run 命令来在容器内运行一个应用程序,输出Hello world
docker run ubuntu:15.10 /bin/echo "Hello world"

各个参数解析:
docker: Docker 的二进制执行文件。
run: 与前面的 docker 组合来运行一个容器。
ubuntu:15.10 指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
/bin/echo "Hello world": 在启动的容器里执行的命令
以上命令完整的意思可以解释为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果。
运行交互式的容器
我们通过 docker 的两个参数 -i -t,让 docker 运行的容器实现"对话"的能力:
docker run -i -t ubuntu:15.10 /bin/bash

各个参数解析:
-t: 在新容器内指定一个伪终端或终端。
-i: 允许你对容器内的标准输入 (STDIN) 进行交互。
注意第二行 root@8739b639f1b8:/# ,此时我们已进入一个 ubuntu15.10 系统的容器
我们尝试在容器中运行命令 cat /proc/version和ls分别查看当前系统的版本信息和当前目录下的文件列表
使用exit退出容器
exit

启动容器(后台模式)
使用以下命令创建一个以进程方式运行的容器
注:加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec(下面会介绍到)。
docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"

在输出中,我们没有看到期望的 "hello world",而是一串长字符
1ab5e28733593adcbbc947185e9ecf0f4da8efa1328f6e0db4c2b1a324563bb9
这个长字符串叫做容器 ID,对每个容器来说都是唯一的,我们可以通过容器 ID 来查看对应的容器发生了什么。
首先,我们需要确认容器有在运行,可以通过 docker ps 来查看:
docker ps

输出详情介绍
CONTAINER ID: 容器 ID,我的是1ab5e2873359
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
状态有7种:
- created(已创建)
- restarting(重启中)
- running 或 Up(运行中)
- removing(迁移中)
- paused(暂停)
- exited(停止)
- dead(死亡)
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。
在宿主主机内使用 docker logs 容器ID 命令,查看容器内的标准输出:
docker logs 1ab5e2873359

进入容器
docker exec:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。
docker exec -it 1ab5e2873359 /bin/bash
导出和导入容器
导出容器
如果要导出本地某个容器,可以使用 docker export 命令。
docker export 1ab5e2873359 > ubuntu.tar
导出容器 1ab5e2873359 快照到本地文件 ubuntu.tar。
导入容器快照
可以使用 docker import 从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:
cat docker/ubuntu.tar | docker import - test/ubuntu:v1
此外,也可以通过指定 URL 或者某个目录来导入,例如:
docker import http://example.com/exampleimage.tgz example/imagerepo
根据容器 ID 启动、关闭、重启
- docker start:启动一个或多个已经被停止的容器
- docker stop:停止一个或多个运行中的容器
- docker restart:重启一个或多个容器

删除容器
删除容器使用 docker rm 命令:
docker rm -f 1ab5e2873359
卸载 Docker
删除安装包:
yum remove docker-ce
删除镜像、容器、配置文件等内容:
rm -rf /var/lib/docker
Docker基础教程快速入门 Linux CentOS安装与使用Docker容器的更多相关文章
- linux centos 安装Jenkins(非docker方式)
写在前面 我之前写过Asp.net Core 使用Jenkins + Dockor 实现持续集成.自动化部署(一):Jenkins安装这jenkisn的安装过程,但这篇使用的是docker的方式安装的 ...
- [转] Spark快速入门指南 – Spark安装与基础使用
[From] https://blog.csdn.net/w405722907/article/details/77943331 Spark快速入门指南 – Spark安装与基础使用 2017年09月 ...
- linux centos安装教程
linux centos安装教程1 CentOS-7-x86_64-DVD-1511.iso 这个是dvd版本 2 CentOS-7-x86_64-Minimal-1511.iso 这个迷你版 是没有 ...
- 零基础程序员入门Linux系统 !如何快速恢复系统?
新手在学习Linux系统的时候,难免会遇到命令输错,或系统出错的难题.那么如何快速解决呢?本文就先给你一个后悔药,让你快速备份并恢复Linux系统.本文将以Ubuntu为例,在这之前,你需要一台服务器 ...
- 【个人笔记】003-PHP基础-01-PHP快速入门-03-PHP环境搭建
003-PHP基础-01-PHP快速入门 03-PHP环境搭建 1.客户端(浏览器) IE FireFox CHROME Opera Safari 2.服务器 是运行网站的基本 是放置程序代码的地方 ...
- Objective-C基础语法快速入门
Objective-C基础语法快速入门 2010-11-04 16:32 折酷吧 zheku8 字号:T | T 假如我们对面向对象的思维已经C语言都很熟悉的话,对于我们学习Objective-C将会 ...
- linux centos安装编译phantomjs 2.0的方法
phantomjs 2.0最新版的官方不提供编译好的文件下载,只能自己编译,有教程但是过于简单,特别是服务器上要安装N多的支持.折腾到现在终于装好了并且能正常运行了,截图mark一下: linux c ...
- Spring MVC 教程,快速入门,深入分析
http://elf8848.iteye.com/blog/875830/ Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门 资源下载: ...
- 【个人笔记】002-PHP基础-01-PHP快速入门-02-PHP语言相关介绍输
002-PHP基础-01-PHP快速入门 02-PHP语言相关介绍 1.PHP是什么 Hypertext Preprocessor超文本预处理器 是一种通用开源脚本语言 Personal Home P ...
- 【个人笔记】001-PHP基础-01-PHP快速入门-01-PHP职业路线及PHP前景
001-PHP基础-01-PHP快速入门 01-PHP职业路线及PHP前景 PHP职业路线 PHP初级工程师 1年以下 3k-6k PHP中级工程师 1-3年6k-10k PHP高级工程师 3年以上 ...
随机推荐
- Tarjan缩点题单 刷题题解
Tarjan缩点可以将一个图的每个强连通分量缩成一个点,然后构建新图,该图就会变成一个有向无环图.变成有向无环图之后就能结合最短路,拓扑......解决相应题目 洛谷题单分享: https://www ...
- .NET无侵入式对象池解决方案
Pooling(https://github.com/inversionhourglass/Pooling),编译时对象池组件,在编译时将指定类型的new操作替换为对象池操作,简化编码过程,无需开发人 ...
- 超越预期:Containerd 如何成为 Kubernetes 的首选容器运行时
> 作者:尹珉,KubeSphere Ambassado,rKubeSphere Contributor,KubeSphere 社区用户委员会杭州站站长. 踏上 Containerd 技术之旅 ...
- dotnet6.0安装
解压到目录 sudo mkdir -p /usr/share/dotnet && sudo tar zxf dotnet-sdk-6.0.423-linux-x64.tar.gz -C ...
- 深度解读RDS for MySQL 审计日志功能和原理
本文分享自华为云社区<[华为云MySQL技术专栏]RDS for MySQL 审计日志功能介绍>,作者:GaussDB数据库. 1. 背景 在生产环境中,当数据库出现故障或问题时,运维人员 ...
- TypeError: __init__() got an unexpected keyword argument 'XXXXXXXX'
解决方法:安装包的版本兼容问题,更新一下安装包的版本(如果在别的机器不报错,那就把不报错的这台机器上的安装包pip freeze > requirements.txt 下来,在报错的机器上安装一 ...
- 一键SSH免密脚本
大型项目一键SSH免密脚本 #!/usr/bin/env bash root=$( cd $(dirname $0)/.. pwd ) source ${root}/dragonrc read -p ...
- Python 在PDF中绘制线条、矩形、椭圆形
在PDF中绘制图形可以增强文档的视觉效果.通过添加不同类型的形状,如实线.虚线.矩形.圆形等,可以使文档更加生动有趣,提高读者的阅读兴趣.这对于制作报告.演示文稿或是教材特别有用.本文将通过以下几个示 ...
- Java GC 调试手记
摘要 本文记录GC调试的一次实验过程和结果. GC知识要点回顾 问题1:为什么要调试GC参数?在32核处理器的系统上,10%的GC时间导致75%的吞吐量损失.所以在大型系统上,调试GC是以小博大的不错 ...
- 安卓抓包之SocksDroid
之前一直使用电脑端的Charles代理软件, 然后手机端WiFi代理设置为Charles的代理ip与端口, 也就是8888 但是发现有些软件的请求包是抓取不到的, 于是查看apk源码发现发送网络请求使 ...


