pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:2826
发帖:230 篇
来自:保密
注册:2023-12-09 09:36:49
造访:2026-05-05 13:56:22
发帖:230 篇
来自:保密
注册:2023-12-09 09:36:49
造访:2026-05-05 13:56:22
[ 第 1 楼 ]
128
回复
Docker简介
Docker是一个快速交付应用、运行应用的技术:
Docker允许开发中将应用、依赖、函数库、配置一起打包,形成可移植镜像
Docker应用运行在容器中,使用沙箱机制,相互隔离
Docker镜像中包含完整运行环境,包括系统函数库,仅依赖系统的Linux内核,因此,可以在任意Linux操作系统上运行
启动、移除都可以通过一行命令完成,方便快捷
Docker与虚拟机的差异
docker是一个系统进程,虚拟机是在操作系统中的操作系统
docker体积小、启动速度快、性能好;虚拟机体积大、启动速度慢、性能一般
镜像和容器
镜像(Image):Docker将应用程序及其所需要的依赖、函数库、环境、配置等文件打包在一起,称为镜像。即打包的文件就是镜像。
容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见。即隔离的进程是容器。
DockerHub
DockerHub是一个Docker镜像的托管平台。这样的平台称为Docker Registry。
Docker基本操作
镜像常见命令
镜像名称一般分为两部分:[repository]:[tag],例如:mysql:5.7,如果tag没有指定,默认latest,代表最新版本镜像
docker build:构建镜像
docker pull:从服务拉取镜像
docker images:查看镜像
docker rmi:删除镜像 例如:docker rmi nginx:latest
docker push:推送到服务
docker save:保存镜像为一个压缩包 例如:docker save -o nginx.tar nginx:latest
docker load:加载压缩包为镜像 例如:docker load -i nginx.tar
docker --help:查看docker命令
docker images --help:查看docker image命令的用法
容器常见命令
docker run :创建并运行一个容器
docker pause: 暂停(挂起)容器
docker unpause:运行容器
docker stop:停止容器
docker start:重新开始容器
docker ps:查看所有运行的容器及状态 docker ps -a :查看所有容器,包含运行与不运行的
docker logs:查看容器运行日志 docker logs -f containerName :-f -follow跟踪日志
docker exec:进入容器执行命令
docker rm: 删除指定容器 docker rm -f :强制删除容器
创建容器运行
docker run --name containerName -p 80:80 -d nginx
命令解读:
docker run :创建并运行一个容器
–name:给容器起一个名字
-p:将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
-d:后台运行容器
nginx:镜像名称,例如nginx
进入容器内部:
docker exec -it containerName bash
命令解读:
docker exec:进入容器内部,执行一个命令
-it:给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
containerName:要进入的容器名称
bash:进入容器后执行的命令,bash是一个linux终端交互命令
数据卷的基本操作
解决容器与数据耦合的问题,方便操作容器内数据,保证数据安全
数据卷(volume):是一个虚拟目录,指向宿主机文件系统中的某个目录。(/var/lib/docker/volumes/数据卷文件名),容器删除后,数据卷不删除。
数据卷操作的基本语法如下:
docker volume[COMMAND]
docker volume命令式数据卷操作,根据命令后跟随的command来确定下一步的操作:
docker volume create :创建一个volume
docker volume inspect :显示一个或多个volume的信息
docker volume ls :列出所有的volume
docker volume prune :删除未使用的volume
docker volume rm :删除一个或多个指定的volume
挂载数据卷
如果容器运行时volume不存在,会自动被创建出来
docker run\ # 创建并运行容器
--name containerName\ # 给容器起名
-v html:/usr/share/nginx/html\ # 把html数据卷挂载到容器内的/root/html这个目录中
-p 8080:80 # 把宿主机的8080端口映射到容器内的80端口
nginx:latest\ # 镜像名称
Docker是一个快速交付应用、运行应用的技术:
Docker允许开发中将应用、依赖、函数库、配置一起打包,形成可移植镜像
Docker应用运行在容器中,使用沙箱机制,相互隔离
Docker镜像中包含完整运行环境,包括系统函数库,仅依赖系统的Linux内核,因此,可以在任意Linux操作系统上运行
启动、移除都可以通过一行命令完成,方便快捷
Docker与虚拟机的差异
docker是一个系统进程,虚拟机是在操作系统中的操作系统
docker体积小、启动速度快、性能好;虚拟机体积大、启动速度慢、性能一般
镜像和容器
镜像(Image):Docker将应用程序及其所需要的依赖、函数库、环境、配置等文件打包在一起,称为镜像。即打包的文件就是镜像。
容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见。即隔离的进程是容器。
DockerHub
DockerHub是一个Docker镜像的托管平台。这样的平台称为Docker Registry。
Docker基本操作
镜像常见命令
镜像名称一般分为两部分:[repository]:[tag],例如:mysql:5.7,如果tag没有指定,默认latest,代表最新版本镜像
docker build:构建镜像
docker pull:从服务拉取镜像
docker images:查看镜像
docker rmi:删除镜像 例如:docker rmi nginx:latest
docker push:推送到服务
docker save:保存镜像为一个压缩包 例如:docker save -o nginx.tar nginx:latest
docker load:加载压缩包为镜像 例如:docker load -i nginx.tar
docker --help:查看docker命令
docker images --help:查看docker image命令的用法
容器常见命令
docker run :创建并运行一个容器
docker pause: 暂停(挂起)容器
docker unpause:运行容器
docker stop:停止容器
docker start:重新开始容器
docker ps:查看所有运行的容器及状态 docker ps -a :查看所有容器,包含运行与不运行的
docker logs:查看容器运行日志 docker logs -f containerName :-f -follow跟踪日志
docker exec:进入容器执行命令
docker rm: 删除指定容器 docker rm -f :强制删除容器
创建容器运行
docker run --name containerName -p 80:80 -d nginx
命令解读:
docker run :创建并运行一个容器
–name:给容器起一个名字
-p:将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
-d:后台运行容器
nginx:镜像名称,例如nginx
进入容器内部:
docker exec -it containerName bash
命令解读:
docker exec:进入容器内部,执行一个命令
-it:给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
containerName:要进入的容器名称
bash:进入容器后执行的命令,bash是一个linux终端交互命令
数据卷的基本操作
解决容器与数据耦合的问题,方便操作容器内数据,保证数据安全
数据卷(volume):是一个虚拟目录,指向宿主机文件系统中的某个目录。(/var/lib/docker/volumes/数据卷文件名),容器删除后,数据卷不删除。
数据卷操作的基本语法如下:
docker volume[COMMAND]
docker volume命令式数据卷操作,根据命令后跟随的command来确定下一步的操作:
docker volume create :创建一个volume
docker volume inspect :显示一个或多个volume的信息
docker volume ls :列出所有的volume
docker volume prune :删除未使用的volume
docker volume rm :删除一个或多个指定的volume
挂载数据卷
如果容器运行时volume不存在,会自动被创建出来
docker run\ # 创建并运行容器
--name containerName\ # 给容器起名
-v html:/usr/share/nginx/html\ # 把html数据卷挂载到容器内的/root/html这个目录中
-p 8080:80 # 把宿主机的8080端口映射到容器内的80端口
nginx:latest\ # 镜像名称
