虚拟机(virtual machine)是在操作系统中模拟硬件设备,然后运行另一个操作系统,比如在 Windows 系统里面运行 Ubuntu 系统,这样就可以运行任意的Ubuntu应用了。
Docker仅仅是封装函数库,并没有模拟完整的操作系统
Docker中有几个重要的概念:
镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。
容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器进程做隔离,对外不可见。
拉取镜像docker pull nginx(版本号)
查看所有镜像docker images
docker load -i nginx.tar 读取tar文件到镜像
docker stop 容器从运行到停止
docker start 将容器从停止到运行
docker ps -a 查看所有运行的容器及状态
docker rm -f xx 强制删除(可删除正在运行的容器)
docker run --name (containerName给容器起的名称) -p 80:80 -d nginx
docker run:创建并运行一个容器
--name:给容器起一个名字,比如叫做mm
-p:将宿主机端口与容器端口映射,冒号左侧是宿主端口,右侧是容器端口
-d:后台运行容器
nainx:镜像名称
进入容器内部
docker exec -it mn bash
docker exec :进入容器内部,执行一个命令
-it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
mn :要进入的容器的名称
bash:进入容器后执行的命令,bash是一个linux终端交互命令
数据卷挂载
docker run \
--name mn \
-v html:/root/html \
-p 8080:80
nginx \
-v html:/root/htm :把html数据卷挂载到容器内的/root/html这个目录中
搭建docker镜像仓库Docker Registry
docker run -d \
--restart=always \
--name registry \
-p 5000:5000 \
-v registry-data:/var/lib/registry \
registry