1.docker的优势?
1.可以将程序及其依赖,运行环境一起打包为一个镜像,可以迁移到linux操作系统
2.对程序进行沙箱形成隔离容器,程序之间互不打扰
3.启动,移除可以通过命令,非常的方便
2.docker和虚拟机的区别?
3.docker镜像
概述:Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。
在开放中为了避免做一些重复的工作,我们可以去DockerHub的官网去拉取,别人上传上去的镜像,如Redis Mysql 等
官网:http://Docker Hub
安装docker
首先如果我们之前安装了旧版本的Docker的时候,可以先使用卸载命令:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
我们需要虚拟机上连接网络,安装yum工具
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
更新本地docker镜像源
# 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
输入命令
yum install -y docker-ce
docker-ce为社区免费版本,安装的时候需要等一段时间.
如果启动的时候不能访问这个时候需要执行一个关闭防火墙的命令
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
通过命令启动docker
systemctl start docker # 启动
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
docker -v # 查看版本号
镜像的相关命令?
首先去官网搜索,所需要的镜像名称,例如nginx
将需要的镜像拉取到linux上:
1.docker pull nginx
docker images 可以查看镜像
docker的命令比较多,记不住,就算记住也容易忘但是我们可以使用命令:docker xx --help
2.查看相应的用法.
例如保存镜像
docker save --help
命令格式: docker save -o [保存目标文件的名称] [镜像的名称]
2.使用docker save 导出镜像到磁盘
docker save -o nginx.tar nginx:latest
3.使用dockers load 加载镜像
本地是否有nginx,有删除
docker rmi nginx:latest
运行命令,加载本地文件
docker load -i nginx.tar
容器的相关操作命令?
docker run ==>创建一个容器,并启动
- --name: 给容器起一个名字,比如叫做mn
- -p 将宿主机端口映射,冒号左侧是宿主机端口,右侧是容器的端口(访问的时候是宿主端口,
端口可以随意,只要不冲突)
- -d 后台运行容器
- -nginx:镜像名称,例如nginx
例如:docker run --name -p 80:80 -d nginx
docker stop ==>将容器停止
docker start ==>将容器启动起来
docker exec ==>进入容器中
docker logs ==>查看容器的运行日志
dockers ps ==> 查看容器信息
数据卷(容器的管理)
为什么要学习数据卷?
我们在修改一些html页面的时候,需要进入nginx内部,没有编辑器,修改文件很麻烦,而且层级的目录比较深.
什么是数据卷?
数据卷:是一个虚拟的目录,指向宿主机文件系统中的某一个目录
docker volume [COMMAND]
-- create 创建一个volume
-- inspect 显示一个或多个volume的信息
-- ls 列出所有的volume
-- prune 删除未使用的volume
-- rm 删除一个多个指定的volume
我们只需要记住docker volume 这个就行了 然后进行docker volume --help
创建数据卷
docker volume create html
查看所有的数据卷
docker volume ls
效果:
查看数据卷的详细信息
docker volume inspect html
可以看到,我们创建的html这个数据卷关联的宿主机目录为/var/lib/docker/volumes/html/_data
目录。