Docke-容器的安装与使用

前言

  Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
  Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
  容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。


一、容器介绍

  容器其实是⼀种沙盒技术。顾名思义,沙盒就是能够像⼀个集装箱⼀样,把你的应用"装"起来的技术。这样,应⽤与应⽤之间,就因为有了边界⽽不⾄于相互⼲扰;⽽被装进集装箱的应⽤,也可以被⽅便地搬来搬去,这其实是 PaaS 最理想的状态。

1.1、容器简史

  互联网企业生产环境的应用部署所经历的过程,大致可分三个阶段:

  • 物理机部署
  • 虚拟机部署
  • 容器化部署

1.2、容器的成因

  其⼀,这是技术演进的⼀种创新结果,其⼆,这是⼈们追求⾼效⽣产活动的⼀种⼯具。随着软件开发的发展,相⽐于早期的集中式应⽤部署⽅式,现在的应⽤基本都是采⽤分布式的部署⽅式,⼀个应⽤可能包含多种服务或多个模块,因此多种服务可能部署在多种环境中,如虚拟服务器、公有云、私有云等,由于多种服务之间存在⼀些依赖关系,所以可能存在应⽤在运⾏过程中的动态迁移问题,那这时如何保证不同服务在不同环境中都能平滑的适配,不需要根据环境的不同⽽去进⾏相应的定
制,就显得尤为重要。

二、Docker安装

docker官方网站: https://www.docker.com/

1.1、下载Docker

1删除已安装的docker,如果未安装可忽略
[root@localhost]# yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
2.1配置阿里云的docker yum源
[root@localhost]# yum install -y yum-utils device-mapper-persistent-data lvm2 git
[root@localhost]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

配置国内加速器,阿里云,按照官方提示进行配置 链接 阿里云
配置加速器

3安装Docker
查看docker的版本信息
[root@localhost]# yum list docker-ce --showduplicates
  可安装的软件包
docker-ce.x86_64                                 17.03.0.ce-1.el7.centos                                 docker-ce-stable 
docker-ce.x86_64                                 17.03.1.ce-1.el7.centos                                 docker-ce-stable 
docker-ce.x86_64                                 17.03.2.ce-1.el7.centos                                 docker-ce-stable 
docker-ce.x86_64                                 17.03.3.ce-1.el7                                        docker-ce-stable 
docker-ce.x86_64                                 17.06.0.ce-1.el7.centos                                 docker-ce-stable 
docker-ce.x86_64                                 17.06.1.ce-1.el7.centos                                 docker-ce-stable 
docker-ce.x86_64                                 17.06.2.ce-1.el7.centos                                 docker-ce-stable
...
  
安装docker最新版
[root@localhost]# yum -y install docker-ce 
4启动Docker服务
[root@localhost]# systemctl enable docker   
[root@localhost]# systemctl start docke 
5查看Docker版本及启动状态
[root@localhost]# docker -v
Docker version 20.10.2, build 2291f61

[root@localhost]# docker version
Client: Docker Engine - Community
 Version:           20.10.2
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        2291f61
 Built:             Mon Dec 28 16:17:48 2020
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true
...
6查看docker的运行状态
[root@localhost]# docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 20.10.2
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
...

2.2、下载docker镜像

7下载官方镜像,已下载nginx镜像为例
在官方网站查找nginx镜像
[root@localhost]# docker search nginx

NAME                               DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                              Official build of Nginx.                        14340     [OK]       
jwilder/nginx-proxy                Automated Nginx reverse proxy for docker con…   1947                 [OK]
richarvey/nginx-php-fpm            Container running Nginx + PHP-FPM capable of…   802                  [OK]
linuxserver/nginx                  An Nginx container, brought to you by LinuxS…   140                  
jc21/nginx-proxy-manager           Docker container for managing Nginx proxy ho…   135                  
tiangolo/nginx-rtmp                Docker image with Nginx using the nginx-rtmp…   111                  [OK]
bitnami/nginx                      Bitnami nginx Docker Image                      94                   [OK]
alfg/nginx-rtmp                    NGINX, nginx-rtmp-module and FFmpeg from sou…   86                   [OK]
jlesage/nginx-proxy-manager        Docker container for Nginx Proxy Manager        84                   [OK]
nginxdemos/hello                   NGINX webserver that serves a simple page co…   65                   [OK]
nginx/nginx-ingress                NGINX Ingress Controller for Kubernetes         47                   
privatebin/nginx-fpm-alpine        PrivateBin running on an Nginx, php-fpm & Al…   45                   [OK]
nginxinc/nginx-unprivileged        Unprivileged NGINX Dockerfiles                  28                   

下载最新版nginx镜像
[root@localhost]# docker pull nginx   #默认下载最新版 nginx:latest
nginx                latest    f6d0b4767a6c   12 days ago    133MB

查看本地镜像仓库
[root@localhost]# docker images  
mysqlclient          v1.1      8a1cd8bbc24a   4 days ago     39.7MB
busybox              latest    b97242f89c8a   11 days ago    1.23MB
redis                latest    6060df96cef3   11 days ago    104MB
nginx                latest    f6d0b4767a6c   12 days ago    133MB
php                  7.4-fpm   f5460fa2369d   12 days ago    405MB
nginx                alpine    629df02b47c8   5 weeks ago    22.3MB
alpine               latest    389fef711851   5 weeks ago    5.58MB
centos               latest    300e315adb2f   6 weeks ago    209MB
mysql/mysql-server   5.7       a9dda627da1f   3 months ago   360MB

启动nginx容器
[root@localhost]# docker run -itd nginx:latest sh
fb78d1f1e9e591ba3b6f4290cbdfaf61f8bd99e62af690ec5811b8eb10745d17

查看容器启动状态
[root@localhost]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
fb78d1f1e9e5   nginx     "/docker-entrypoint.…"   42 seconds ago   Up 41 seconds   80/tcp    vigorous_rhodes

进入nginx容器
[root@localhost]#  [root@docker ~]# docker exec -it fb78d1f1e9e5 sh

参考文档:

Docker 的源代码仓库: [https://github.com/moby/moby]
Docker 常见问题: https://docs.docker.com/engine/faq/
欢迎一起来学习交流。

おすすめ

転載: blog.csdn.net/weixin_52099680/article/details/113058626