1、docker介绍
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
docker的工作流程如下
相比虚拟机,有更多的好处
2、docker安装
首先在真机的/var/www/html目录下放docker的rpm包以及依赖性,然后虚拟机server1使用该yum源安装docker
[root@server1 yum.repos.d]# cat docker.repo #设定yum源
[docker]
name=docker-ce
baseurl=http://172.25.11.250/docker-ce
gpgcheck=0
[root@server1 yum.repos.d]# yum repolist
[root@server1 yum.repos.d]# yum install -y docker-ce
[root@server1 yum.repos.d]# systemctl start docker
[root@server1 yum.repos.d]# systemctl enable docker
[root@server1 yum.repos.d]# docker info #列出docker的信息,如下图
[root@server1 sysctl.d]# pwd #如果docker info出现下图警告,下面解决
/etc/sysctl.d
[root@server1 sysctl.d]# cat docker.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
[root@server1 sysctl.d]# sysctl --system #重启就没有警告了
3、docker基本命令的使用
docker pull busybox %从镜像仓库拉取(下载)镜像
docker load -i busybox.tar %本地已有镜像包的时候直接在本地加载镜像
docker images %查看本地镜像列表
docker history busybox:latest %查看镜像修改历史
docker ps %查看后台开启的容器状态
docker ps -a %查看后台所有容器状态
docker rm -f ef3b3fa540ec %删除容器
docker build -t demo:v6 . %创建容器(以当前路径下的dockerfile自动创建的方式)
docker run --rm demo:v6 %rm表示运行容器后回收(删除)
docker run -d demo:v6 %-d表示运行容器的同时将其打入后台
docker run -it --name demo demo:v5 %-it表示运行容器的同时进入容器,交互式
docker inspect demo %查看容器详细信息
docker commit demo demo:v1 %把demo保存为demo:v1
4、docker部署网页游戏
已有马里奥的镜像tar包,加载镜像,运行容器并打入后台,80端口映射到80端口
在网页输入172.25.11.1,就可以玩了
5、交互式制作镜像
加载镜像,以demo这个名字运行容器,开启demo,可以交互写入修改。
或者也可以docker container attach demo进入交互界面修改,ctrl+p+q 打入后台,不退出。
从当前容器demo创建一个新的镜像demo:v1,可以看到demo:v1是三层结构,busybox是二层结构,demo:v1是在busybox的基础上创建的,删除掉demo:v1,剩下的两层依然存在,只是删除了最上边一层。同时注意到第三层的修改的地方只显示sh,没法得知具体做了什么,不好
删除此镜像docker rmi demo:v1
6、docker脚本制作镜像
此方式制作的镜像可以看到具体操作步骤,更安全放心
创建目录,创建dockerfile,内容如下,按照当前路径下的dockerfile创建容器
可以看到做了什么,很好