什么是docker
- 2010 doCloud PAAS
- 2013 docker开源
- 融资发展
理解docker
Docker思想
- 集装箱
- 标准化
- 运输方式
- 存储方式
- API接口(启动、查看、删除)
- 隔离(快速创建、删除、隔离进程组)
docker解决了什么问题
- 运行环境不一致
- 内存混乱(docker限制内存隔离)
- 服务器撑不住(docker标准化,扩展服务器)
走进docker
dcoker镜像
一系列文件,包括应用程序,运行环境。
联合文件系统–实现文件分层
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pWMH4Bs9-1607921148167)(en-resource://database/1513:0)]
每一层都是只读的
dcoker容器
容器的本质就是一个进程,或者一个虚拟机,最上面一层才是可读可写的,
由于容器这一层是可以修改的,而镜像是不可修改的,这样就可以保证一个镜像可以生成几个容器,互不干扰
dcoker仓库
先把镜像传达仓库,然后从仓库拉过去。
hub.docker.com、c.163.com、支持自己做docker仓库
Hello world
docker安装
$ sudo yum remove docker \ docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \ docker-logrotate \
docker-engine
- 在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。设置仓库安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
3.设置阿里云源地址
$ sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4.安装最新版dcoker engine-community和containerid
$ sudo yum install docker-ce docker-ce-cli containerd.io
- 启动docker
- 运行hello-world
$ sudo docker run hello-world
docker命令
docker pull NAME
docker IMAGES //查看本机所有镜像列表
docker run IMAGE []
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NDjXM1QC-1607921148171)(en-resource://database/1515:0)]
Nginx服务
-
持久运行的容器
-
前台挂起 & 后台运行
-
进入容器内部
docker exec -it f4 bash -
docker网络
- 网络类型
- bridge host none
- 端口映射
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XEVVcgBD-1607921148174)(en-resource://database/1517:0)]
Java Web
- 编写dockerfile文件,选择基础镜像 把jpress包然进来,然后构建自己的镜像。选择端口
- pull mysql镜像。创建一个数据库,然后把jpress里连接的localhost换成ip地址,因为容器内部访问localhost是不对的。