类似于电脑,要在朋友的电脑上跑你写的Java程序,就得检查他电脑有没有安装Java环境.
类似的,要想在别的电脑上跑你写的Python程序,又得检查那台电脑有没有装python.
如何让自己写的程序换到别的电脑上后,可以便捷的运行起来?
将程序和程序的环境打包迁移,是一种解决方案.
虚拟机安装太麻烦,就好比一个完整的操作系统,启动起来很费时间.
服务器版本:CentOS 8.2 64位
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum erase podman buildah
yum install -y docker-ce docker-ce-cli containerd.io --nobest
# 简单信息
docker -v
# 查看docker的版本号,包括客户端、服务端、依赖的Go等
docker version
# 查看系统(docker)层面信息,包括管理的images, containers数等
docker info
# 启动
systemctl start docker
# 开机自启
systemctl enable docker
systemctl stop docker
systemctl restart docker
systemctl status docker
镜像
Docker镜像里包含了已打包的应用程序及其所依赖的环境。它包含应用程序可用的文件系统和其他元数据,如镜像运行时的可执行文件路径。
镜像仓库
Docker镜像仓库用于存放Docker镜像,以及促进不同人和不同电脑之间共享这些镜像。当编译镜像时,要么可以在编译它的电脑上运行,要么可以先上传镜像到一个镜像仓库,然后下载到另外一台电脑上并运行它。某些仓库是公开的,允许所有人从中拉取镜像,同时也有一些是私有的,仅部分人和机器可接入。
容器
Docker容器通常是一个Linux容器,它基于Docker镜像被创建。一个运行中的容器是一个运行在Docker主机上的进程,但它和主机,以及所有运行在主机上的其他进程都是隔离的。这个进程也是资源受限的,意味着它只能访问和使用分配给它的资源(CPU、内存等)。
Docker执行命令,构建镜像并存储在机器上。
Docker收到命令后,将本地镜像上传到镜像仓库。
生产环境机器收到命令后,Docker会从镜像仓库拉取镜像到机器上,然后基于镜像运行容器。
docker images
docker search 镜像名称
docker pull 镜像名称:版本号
docker rmi 镜像名称:版本号
# 查看正在运行的容器
docker ps
# 查看所有容器
daocker ps -a
docker run -it --name=centos centos:latest /bin/bash
# 参数信息
-i:保持容器运行
-t:为容器重新分配一个伪输入终端
-d:以守护进程模式运行容器,退出后容器不会停止
-it:创建一个交互式容器,推出后容器容器停止运行
-id:创建一个守护容器;退出后容器不停止运行
–name:为创建的容器命名
docker exec -it 容器名称 /bin/bash
docker start 容器名称
docker stop 容器名称
docker rm 容器名称
#删除所有容器
docker rm `docker ps -aq`
docker inspect 容器名称
原文:https://www.cnblogs.com/yang37/p/14464674.html