关于Docker的那些事

一、前言

  工作中其实就是点点点,但社会所逼,搞的啥都要学,啥都要懂,只能说太卷了。

二、什么是Docker

  Docker 是一个开源的应用容器引擎,容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低,Docker的思想来自于集装箱。

  下图是Docker的架构图,架构图箭头的意思大概是:

  • 在 Docker Client 敲 Docker 命令调用 Docker API 来操作 Host 上的 Docker 服务
  • Docker 服务可以从仓库拉镜像到本机,也可以用本机镜像创建一个容器并运行

 

 

  Docker 包括三个基本概念:

  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

三、Centos 7.x 下安装 Docker

配置 Docker Repository

在主机上首次安装 Docker Engine之前,需要设置 Docker Repository,之后可以从 Repository 安装和更新 Docker

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# Step 2: 添加软件源信息,国内 Repository 更加稳定
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# Step 3: 更新
sudo yum makecache fast

安装最新版本的 Docker Engine 和 Container

sudo yum install docker-ce docker-ce-cli containerd.io
  • 安装成功后不代表 Docker 已成功,且 Docker 组虽已创建,但没有用户添加到该组

启动 Docker

sudo systemctl start docker

验证 Docker Engine 是否已正确安装

通过运行 hello-world 映像来验证

四、Docker常用命令

  参考https://www.runoob.com/docker/docker-command-manual.html

1、查看正在运行的容器:docker ps

2、查看所有容器:docker ps-a

-a查看所有容器,
-l查看最新创建的容器,
-n=x,查看最后创建的x个容器

3、启动或者重启容器
docker start 容器名或容器ID
docker restart 容器名或容器ID

4、停止所有的容器,要想删除镜像,必须要先删除容器

docker stop $(docker ps -a -q)

5、停止单个容器,容器名可以通过docker ps获得

docker stop 容器名或容器ID
或者 docker kill 容器名或容器ID

6、删除所有的容器:docker rm $(docker ps -a -q)

7、删除单个容器:docker rm 容器名

8、删除正在运行的容器:docker rm -f 容器名

9、删除全部镜像:docker rmi $(docker images -q)

10、删除单个镜像,imageId可通过dokcer images查看到

docker rmi imageId

五、Docker实战之安装Nginx

搜索 Nginx 镜像,第一个就是官方镜像

docker search nginx

下载镜像到本地

docker pull nginx

查看镜像是否下载成功,使用以下命令来查看是否已安装了 nginx

docker images

运行镜像,即运行容器

  • -p:端口映射,容器内部 80 映射到宿主机 3344 端口
  • --name:自定义容器名
docker run -d --name nginx01 -p 3344:80 nginx

查看镜像运行状态,如上图

docker ps 

补充:停止容器 docker stop nginx01  重新运行容器 docker start nginx01

访问Nginx服务,通过浏览器访问 3344 端口的 nginx 服务

 

posted @ 2022-03-20 21:13  一加一  阅读(129)  评论(0编辑  收藏  举报