Linux下Docker的安装及使用

1.背景

类似于电脑,要在朋友的电脑上跑你写的Java程序,就得检查他电脑有没有安装Java环境.

类似的,要想在别的电脑上跑你写的Python程序,又得检查那台电脑有没有装python.

如何让自己写的程序换到别的电脑上后,可以便捷的运行起来?

将程序和程序的环境打包迁移,是一种解决方案.

  • 为啥不用虚拟机?

虚拟机安装太麻烦,就好比一个完整的操作系统,启动起来很费时间.

2.安装

服务器版本:CentOS 8.2 64位

2.1 安装yum-utils

yum install -y yum-utils

2.2 配置国内源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.3 解决problem with installed package podman-1.6.4-10.的报错

yum erase podman buildah

2.4 安装Docker

yum install -y docker-ce docker-ce-cli  containerd.io --nobest

2.5 查看Docker版本

# 简单信息
docker -v
# 查看docker的版本号,包括客户端、服务端、依赖的Go等
docker version
# 查看系统(docker)层面信息,包括管理的images, containers数等
docker info

3.Docker服务相关

3.1 启动

# 启动
systemctl start docker
# 开机自启
systemctl enable docker

3.2 停止

systemctl stop docker

3.3 重启

systemctl restart docker

3.4 查看docker状态

systemctl status docker

4.仓库、镜像和容器

4.1 Docker容器三个主要概念

  • 镜像

    Docker镜像里包含了已打包的应用程序及其所依赖的环境。它包含应用程序可用的文件系统和其他元数据,如镜像运行时的可执行文件路径。

  • 镜像仓库

    Docker镜像仓库用于存放Docker镜像,以及促进不同人和不同电脑之间共享这些镜像。当编译镜像时,要么可以在编译它的电脑上运行,要么可以先上传镜像到一个镜像仓库,然后下载到另外一台电脑上并运行它。某些仓库是公开的,允许所有人从中拉取镜像,同时也有一些是私有的,仅部分人和机器可接入。

  • 容器

    Docker容器通常是一个Linux容器,它基于Docker镜像被创建。一个运行中的容器是一个运行在Docker主机上的进程,但它和主机,以及所有运行在主机上的其他进程都是隔离的。这个进程也是资源受限的,意味着它只能访问和使用分配给它的资源(CPU、内存等)。

4.2 一个简单的流程

4.2.1 首先开发者在开发环境机器上开发应用并制作镜像。

Docker执行命令,构建镜像并存储在机器上。

4.2.2 开发者发送上传镜像命令。

Docker收到命令后,将本地镜像上传到镜像仓库。

4.2.3 开发者向生产环境机器发送运行镜像命令。

生产环境机器收到命令后,Docker会从镜像仓库拉取镜像到机器上,然后基于镜像运行容器。

Linux下Docker的安装及使用

5.镜像相关命令

5.1 查看镜像

docker images

5.2 搜索镜像

docker search 镜像名称

5.3 拉取镜像

docker pull 镜像名称:版本号

5.4 删除镜像

docker rmi 镜像名称:版本号

6.容器相关命令

6.1 查看容器

# 查看正在运行的容器
docker ps
# 查看所有容器
daocker ps -a

6.2 创建容器

docker run -it --name=centos centos:latest  /bin/bash
# 参数信息
-i:保持容器运行
-t:为容器重新分配一个伪输入终端
-d:以守护进程模式运行容器,退出后容器不会停止
-it:创建一个交互式容器,推出后容器容器停止运行
-id:创建一个守护容器;退出后容器不停止运行
–name:为创建的容器命名

6.3 进入容器

docker exec -it 容器名称 /bin/bash

6.4 启动容器

docker start 容器名称 

6.5 停止容器

docker stop 容器名称

6.6 删除容器

docker rm 容器名称
#删除所有容器
docker rm `docker ps -aq`

6.7 查看容器信息

docker inspect 容器名称

Linux下Docker的安装及使用

上一篇:MacBook查看硬盘的读写数据量


下一篇:Linux(RedHat)基本配置