前言
一、Docker的相关概念
1.1 Docker的定义
- 使用最广泛的开源容器引擎
- 一种操作系统级的虚拟化技术
- 依赖于Linux内核特性: Namespace(资源隔离)和 Cgroups(资源限制)
- —个简单的应用程序打包工具
1.2 Docker组成
Dokcer Client
管理Docker的工具、Docker命令。
Docker Host
Docker主机
守护进程处理Client发出的指令
1.3 镜像管理
1.3.1 镜像的定义
总之,镜像就是一个模板,安装到操作系统后,操作系统就有镜像里的内容以及镜像的所有容器,同时一次性拥有tomcat/nginx/mysql等进程。
镜像就是仓库里已经配置的容器。
1.3.2 配置加速器
docker run -d nginx
访问国外网站时 下载会很慢 所以配置加速器会快一些
默认是从https://hub.docker.com拉取镜像的
注意:刚安装docker /etc/docker./daemon.json是不存在内容的
{ "registry-mirrors": ["https://b9pmyelo.mirror.aliyun.com"] }
注意:以上地址使用的是阿里云的镜像加速器,需要自己在阿里云控制台获取最新地址。(控制台-容器镜像服务-镜像工具-镜像加速器)
systemctl restart docker # 重启docker docker info # 查看docker信息
配置加速器成功
1.3.3 常见管理命令
save导出
docker save [image-name] -o [outname
例如:
docker save redis -o redis.tar
scp命令
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。
load 导入
docker load -i [outname]
例如:
docker load -i redis.tar
1.4 容器管理
保存的容器:/var/lib/docker/containers/
保存的镜像:/var/lib/docker/overlay2/
创建容器常用选项
-d 和-it -d区别
-p publish
发布到服务器
docker run -d -p 88:80 nginx #服务器的88映射到容器的80端口
进入一个命名为web的nginx容器内创建html访问
创建名为web的docker nginx容器
docker run -d -e env=prod -p 88:80 --name web -h web --restart=always nginx
停止容器,有端口占用
docker stop [container_id]
重启容器
docker restart web
进入web容器
docker exec -it web bash
成功访问
常用管理命令