编程网站排名ic千库网
系列文章目录
文章目录
- 系列文章目录
 - 前言
 - 一、安装Docker并配置镜像加速器
 - 二、下载系统镜像(Ubuntu、 centos)
 - 三、基于下载的镜像创建两个容器 (容器名一个为自己名字全拼,一个为首名字字母)
 - 四、容器的启动、 停止及重启操作
 - 五、查看正在运行的容器和所有容器
 - 六、怎么退出容器: 两种方法分别实现
 - 七、怎么连接到正在运行的容器内?
 - 八、.查看容器或镜像的内部信息
 - 九、如何查看所有镜像
 - 总结
 
前言
关于什么是Docker容器?我们该如何去简单化的将他理解?
- 虚拟化的革新发展,进而带动当代云原生等一些新概念的高速发展,进而docke体现了他的先进性、便捷性,操作简单性;
 - Docker容器是基于linux容器的技术,在此基础上进一步的封装更正,让用户不用去担心容器的管理,用户操作更体现在一个Linux虚拟机上的操作一样简单;
 - Docker是一个开源的应用容器引擎,可以轻松的为任何应用随时创造一个轻量级的,可移植的,自给自足的容器。开发者在本地编译测试后通过容器可以批量的在生产环境中部署,包括在一些其他的虚拟机,bare,metal,OpenStrack集群平台;
 - 简单化来说,在一个docker码头,源源不断的收集容器货物存储在码头上,而码头的管理者就是Docker在运行,每一个人、每一个商家或者每一个公司都有属于自己的一个“货品”集装箱,一个个体的依赖关系软件,应用程序都在一个”货品“集装箱里,与其他个体互不干扰,都在docker码头由docker平台统一管理,简单方便的装载,复制,移除,非常适合软件弹性架构;
 - 所以,对于开发人员和公司,当即时的需要一个容器或者一种依赖关系的部署的时候,就可以抓取一个容器进行少量修改,就可以进行部署到各自需要的对应的环境中,达到以前不能够短暂性达到的目的;
 - Docker基本架构

(1)容器省去了操作系统,整个层级更简单化,可以在单台服务器上,运行更多的应用
(2)容器本身是相互隔离的,大师没有包含操作系统,而是共用了宿主机的操作系统和运行时库 
我们为什么要使用docker?
- Docker容器的启动可以实现秒速级别,相比于传统下的虚拟机更方便,省时省力,在IT分秒必争的大环境下,这着实能给足很大的安全感;
 - Docker的资源利用率很高,一台主机上可以同时运用数千个docker容器;
 - Docker除了运行中的应用以外,基本不消耗额外的系统资源,是的应用的性能很高,同时系统的开销尽量小;
 - 更快的交付和部署,对Docker可以快速创建容器,快速迭代应用程序,并让整个过程可见,是的团队中的其他成员更容易理解应用程序是如何创建和工作的;
 - 更高效的虚拟化,由于Docker时内核级别的虚拟化,原本就是提高性能和效率;
 - 更轻松的迁移和扩展,Docker在物理机,虚拟机,公有云,私有云,个人电脑,服务器等,都可以运行,迁移数据更具有兼容时效性;
 - 更简单的管理,根据不同的兼容性和匹配性,修改所需要的容器代码,就可以满足相应的条件。
 
对比传统虚拟机总结
| 特性 | 容器 | 虚拟机 | 
|---|---|---|
| 启动 | 秒级别 | 分钟级别 | 
| 硬盘使用 | 一般为MB | 一般为GB | 
| 性能 | 接近原生 | 弱于 | 
| 系统支持量 | 单机支持上千个容器 | 一般几十个 | 
一、安装Docker并配置镜像加速器
-  
安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的yum install -y yum-utils device-mapper-persistent-data lvm2;
 -  
设置yum源;
 -  
安装docker ,出现输入的界面都按y;
 -  
查看docker版本,验证是否验证
 

 1、yum install -y yum-utils device-mapper-persistent-data lvm22、yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo3、yum install -y docker-ce4、docker --version 
 
我这里配置的时阿里云的镜像加速器
 
[root@coco ~]# sudo mkdir -p /etc/docker
[root@coco ~]# sudo tee /etc/docker/daemon.json <<-'EOF'
> {
> "registry-mirrors": ["https://nm61f549.mirror.aliyuncs.com"]
> }
> EOF
{
"registry-mirrors": ["https://nm61f549.mirror.aliyuncs.com"]
}
[root@coco ~]# 
[root@coco ~]# sudo systemctl daemon-reload
[root@coco ~]# sudo systemctl restart docker
[root@coco ~]# 
 
清空防火墙配置规则,然后再启动Docker
1、systemctl stop firwalld && systemctl disable firwalld
2、systemctl stop firewalld && systemctl disable firewalld
3、systemctl status firewalld.service 
4、sudo systemctl daemon-reload
5、sudo systemctl start docker
6、sudo systemctl enable docker
7、docker version
 
查看docker版本,欧克!
 
二、下载系统镜像(Ubuntu、 centos)

1、centeos7
[root@coco ~]# docker pull centos:7
7: Pulling from library/centos
2d473b07cdd5: Pull complete 
Digest: sha256:9d4bcbbb213dfd745b58be38b13b996ebb5ac315fe75711bd618426a630e0987
Status: Downloaded newer image for centos:7
docker.io/library/centos:7
2、ubuntu安装
[root@coco ~]# docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
7b1a6ab2e44d: Pull complete 
Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
 
三、基于下载的镜像创建两个容器 (容器名一个为自己名字全拼,一个为首名字字母)
1、容器名一个为自己名字全拼
[root@coco ~]# docker run --name xiangzhenzeng -it centos:7
[root@d4b6dd2d653d /]# exit
exit2、容器一个为首名字字母
[root@coco ~]# docker run --name xzz -it centos:7
[root@7f394dce45f8 /]# 
[root@7f394dce45f8 /]# exit
exit
 
四、容器的启动、 停止及重启操作
①docker start 容器名称 启动容器
 ②docker stop 容器名称 停止容器
 ③docker resart 容器名称 重启容器
[root@coco ~]# docker start xzz
xzz
[root@coco ~]# docker stop xzz
xzz
[root@coco ~]# docker restart xzz
xzz
 
五、查看正在运行的容器和所有容器
①docker ps 查看正在运行的容器
 ②docker ps -a 查看全部容器
一、
[root@coco ~]# docker ps
CONTAINER ID   IMAGE      COMMAND       CREATED         STATUS          PORTS     NAMES
7f394dce45f8   centos:7   "/bin/bash"   9 minutes ago   Up 23 seconds             xzz二、
[root@coco ~]# docker ps -a
CONTAINER ID   IMAGE      COMMAND       CREATED          STATUS                      PORTS     NAMES
7f394dce45f8   centos:7   "/bin/bash"   10 minutes ago   Up About a minute                     xzz
d4b6dd2d653d   centos:7   "/bin/bash"   10 minutes ago   Exited (0) 10 minutes ago             xiangzhenzeng
 
六、怎么退出容器: 两种方法分别实现
1、第一种 exit
[root@coco ~]# docker run --name xzz -it centos:7
[root@e1e80097db9c /]# read escape sequence
[root@e1e80097db9c /]# exit
exit
 
2、 第二种 Ctrl+P+Q
[root@coco ~]# docker exec -it xzz /bin/bash
[root@e1e80097db9c /]# 
[root@e1e80097db9c /]#                     
[root@e1e80097db9c /]# 
[root@e1e80097db9c /]# 
[root@e1e80097db9c /]# read escape sequence
[root@coco ~]#  
七、怎么连接到正在运行的容器内?
[root@coco ~]# docker stop xzz
xzz
[root@coco ~]# docker exec -it xzz /bin/bash
Error response from daemon: Container e1e80097db9c0c0e82404b7eb0542017561381e8f863150b1abc42355d7ceae7 is not running
[root@coco ~]# 
[root@coco ~]# 
[root@coco ~]# docker start xzz
xzz
[root@coco ~]# docker exec -it xzz /bin/bash
[root@e1e80097db9c /]#  
八、.查看容器或镜像的内部信息
docker inspect 容器名称 查看容器或镜像的内部信息命令
[root@coco ~]# docker inspect xzz
 

九、如何查看所有镜像
docker images ls 查看所有镜像
[root@coco ~]# docker image ls
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
ubuntu       latest    ba6acccedd29   22 months ago   72.8MB
centos       7         eeb6ee3f44bd   23 months ago   204MB
centos       latest    5d0da3dc9764   23 months ago   231MB
 
总结
以上就是最基本的一些容器的入门命令了解操作,容器这个东西是真的很好用,小伙伴们抓紧学习起来吧!
