安装Docker
linux内核升级
yum update -y
yum install docker -io lxc libcgroup* device-mapp* -y
安装第三方扩展源
//安装第三方扩展源
yum install epel-release -y
//查看是否成功安装扩展源
ll /etc/yum.repos.d/|grep -w epel
安装docker软件包
yun install docker -y
yum list docker
rpm - qa|grep docker
systemctl start docker.service
#查看Docker进程
ps -ef|grep docker
#查看Docker版本信息
docker version
1.安装centos7
使用阿里云镜像
使用VMware11.0安装centos7
1.设置网络为桥接模式,重启网络设置service network restart
2.查看ip地址:ip addr
3.查看Centos版本:使用uname -r (linux内核版本高于3.10)
4.升级软件包及内核(小于3.10需要该操作):yum update
5.安装docker命令:yum install docker
6.启动docker命令:systemctl start docker
7.将docker服务设为开机启动:systemctl enable docker
8.查看docker版本: docker -v
>设置开机启动:systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
检索操作:docker search 关键字
拉取信息:docker pull 镜像名:tag(tag可选择,多为软件的版本,默认最新版本)
列表:docker images
删除 :docker rmi inage-id(删除指定版本的镜像)
搭建环境:
安装mysql:
docker search mysql;
docker pull mysql:latest
错误的启动mysql:
docker run –name mysql01 -d mysql
启动的mysql不能够使用,查看错误日志使用命令docker logs mysql镜像的id
正确启动mysql的命令:docker run –name mysql01 -e MYSQL_ROOT_PASSWORD=root23 -d mysql
以上命令在容器中启动不能被外网访问,需要做端口映射。
重启docker
docker server restart
安装nginx镜像
docker pull docker.io/nginx
查看docker镜像
docker images
docker images|grep -i nginx
运行nginx(使用ip+80端口进行访问)
docker run -itd -p 80:80 docker.io/nginx
部署redis:
1.搜索redis镜像
docker search redis
2.拉取redis镜像
docker pull redis:5.0
3.创建容器
docker run -id –name=C_redis -p 6379:6379 redis:5.0
4.使用外部机器连续redis
./redis-cli.exe -h ip(localhost) -p 6379
Docker镜像原理
操作系统组成有:
进程调度子系统、进程通信子系统、内存管理子系统、设备管理子系统、文件管理子系统、网络管理子系统、作业控制子系统
linux文件系统由boot和rootfs两部分组成
bootfs:包含bootloader(引导加载程序)和kernel内核
rootfs:root文件系统,包含的就是典型的linux系统中的/dev、/proc、/bin、/etc等标准目录和文件
docker制作镜像:
1.容器转为镜像:
docker commit 容器id 镜像名称:版本号
将镜像转为压缩文件,可以用于传输
docker save -o 镜像的压缩文件 镜像名称:版本号
恢复镜像:
docker load -i 镜像的压缩文件
2.fockerfile将容器转为镜像
docker build -f 自定义的dockerfile -t app
dockerfile发布springboot项目
1.定义父镜像
From java:8
2.定义作者信息:
MAINTAINER itxing itxingzai@163.com
3.添加jar
ADD 项目jar包 app.jar
4.启动jar
CMDjava -jar app.jar
5.docker启动自定义容器并且端口映射
docker run -id -p 9000:8080 自定义的项目名app
Docker Compose
1.安装Docker Compose
curl -l https://github.com/docker/compose/release/doenload/1.22.0/docker-compose-'uname-s'-'uname -m’ -o /usr/local/bin/docker-compose
2.设置文件可执行权限
chmod +x /usr/local/bin/docker-compose
3.查看版本信息
docker-compose -version
4.卸载Docker Compose
rm /usr/local/bin/docker-compose
Docker搭建私有仓库
1.拉取私有仓库连接
docker pull resistry
2.启动私有仓库
docker run -id –name=registry -p 5000:5000 registry
3.打开连接,浏览器中输入http://私有仓库服务器ip5000/v2/_catalog,看到{“repositories”:[]}表示私有仓库,搭建成功
4.修改damon.json
vim /etc/docker/damon.json
#在中间中添加key,保存退出,该步骤是让docker信任私有仓库,注意将所有私有的仓库服务器ip修改为自己私有仓库服务器的真实ip
{“insecure-registries”:[私有仓库服务器ip:5000]}
5.重启docker服务
systemctl restart docker
docker start registry
将镜像上传至私有仓库
1.标记镜像为私有仓库镜像
docker tag 需要标签的docker镜像 私有仓库服务器ip:5000/centos:7
2.上传标记的镜像
docker push 私有仓库服务器ip:5000/标记好的docker镜像
3.删除当前的镜像
docker rmi 镜像名
4.从私有仓库拉取镜像
docker pull 镜像名
容器和虚拟机的比较:
相同点:容器和虚拟机都是进行相似的资源隔离和分配优势
不同点:传统虚拟机可以运行不同的操作系统,容器只能运行同一类型的操作系统