docker是一个开源的应用容器引擎,可以让开发者打包自己的应用程序打包到一个可移植的容器中,个人觉得最大的好处就是可以避免开发者从开发到上生产过程中,因系统环境不同产生各种兼容问题,即真正实现一次编译到处运行的理想状态,它与VM及其类似,因为都是基于系统镜像运行,但是它比VM又相对轻量许多,不仅仅是文件的物理上的轻量,更是在服务器启动的时候更加轻便快捷。

 

下面开始第一个在linux系统下的第一个实例

首先安装docker服务,这里使用yum安装

 

然后yum install docker.x86_64 

完成安装后运行systemctl enable docker开机自动运行docker服务

启动docker服务systemctl start docker

docker的所有命令可以通过docker -help查看

然后找一个系统镜像文件,这里先找一个centos系统的镜像文件,运行命令docker search centos

 

 建议选择官方的镜像,把它拉取到本地

docker pull docker.io/centos

运行docker images查看所有的镜像

 

这时候系统有了,那么我们就可以来运行这个系统来。

运行docker run -dit 镜像名称:镜像标签,如下(如果需要端口映射则在-dit后面加一个-p 4000:5000,4000表示服务器端口,5000表示容器端口   

docker run -dit --name containnerName -p 6000:80 --privileged  anpei:20190312 init

 

 

这样就表示运行成功了,可以通过docker ps -a查看所有当前容器的信息,加-a可以查看所有已暂停的服务,不加则看不到

 

上面显示的就是刚才运行的容易,那么我们应该进入系统进去部署自己想要的运行环境,通过命令docker exec -it containerID /bin/bash,如下:

 

看前面的登录信息会发现已经进入了docker容器 ,这里做一个简单测试,改变当前容器的环境,然后生成自己的镜像。

创建一个文本文件

test.txt内容如下:

先退出当前容器,退出容器有两种方式:

1、停止容器服务退出,输入quit

2、不停止容器服务退出,快捷键ctl+p+q

退出之后,运行docker commit containerID 镜像名称: 镜像标签,更多参数可通过docker commit --help查看

这时候就会发现images里面多了一个镜像

我们先把制作好的镜像保存起来,操作命令docker save -o 文件名称 镜像名称:镜像标签

执行结果如下:

这样一个自己的docker镜像就制作完成了,为了测试我们把现在所有的docker 镜像容器都删掉,看看我们制作的容器是不是我们自己想要的结果。

删除镜像之前要把对应的容器服务停止、删除,最后才能删除镜像

停止容器的命令docker stop containerID(暴力点的命令docker stop $(docker ps -a))

删除容器命令docker rm containerID(暴力点的命令docker rm $(docker ps -a))

删除镜像命令docker rmi imageID(暴力点的命令docker rmi $(docker ps -a))

载入我们刚才压缩好的镜像文件,命令docker load -i 压缩包文件,如下:

 

 

 这样我们就把自制的镜像加载到docker里面了,我们来运行看看,我们之前创建的/home/app/test.txt文件,结果如下:

 

 确实是我们之前制作好的系统环境,从以上操作您就会发现,这跟以前的虚拟机速度完全不是一个档次的,以后我们开发完了之后只需要关心这个镜像环境,再也不用担心系统环境问题了。

 

以上仅是个人学习笔记,如有不正指出望指出,互相学习。

posted on 2018-12-11 09:26  Jeton  阅读(502)  评论(0编辑  收藏  举报