系列文章目录
文章目录
- 系列文章目录
- 前言
- 一、安装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 lvm2
2、yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3、yum install -y docker-ce
4、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
exit
2、容器一个为首名字字母
[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
总结
以上就是最基本的一些容器的入门命令了解操作,容器这个东西是真的很好用,小伙伴们抓紧学习起来吧!