Docker基本操作
在虚拟化技术中,docker占据了重要的地位,很多公司在Devops开发运维中都会用到,在多服务应用,结合k8s,能让测试上线提高效率,在此不深入的讲解,还是那句话,我们是做开发的,不是做运维,了解就可以,如果需要带运维团队,也需要知道
实例的ubuntu系统为例来说明,系统版本为18.04,安装docker很简单,一句话搞定:
Sudo apt-get install docker.io
要注意我们首先要设置好国内的镜像源,修改/etc/apt/source.list问价,将默认的镜像域名更改为国内的,比如阿里云、163、清华...
执行后等待一会儿,喝杯茶,刷刷手机,看看新闻,几分钟就安装好了,安装完成后测试:docker -v,查看docker的版本,会安装的当前最新版本。
同样的,docker安装完成之后,修改为国内的镜像源,在/etc/docker/daemon.json中,添加国内docker镜像源
3.1 拉取镜像
镜像是已经打包好了一个或多个应用程序,可以在docker的运行
~$ docker pull Tomcat
我们的演示都是以tomcat镜像为例,在远程仓库中拉取镜像用pull,上面的命令直接执行,是拉取tag 为lastest的镜像,而且是官方的,如果我们需要具体那一个版本的,首先执行:
Docker search tomcat
找到自己想要的tag,然后pull下来
3.2 查看镜像
查看镜像用命令:
~$docker images
我们先前拉取了一个tomcat镜像,如下图所示
乍一看528M,一个tomcat有这么大吗,肯定不是的,这是需要的所有环境一起的,而且docker是分层的,很多内容是可以共享了,第一个可能大一些,后续如果有其他的相关内容,镜像就会小很多
几个参数从前到后一次是镜像的名称,版本,镜像id,创建时间和镜像的大小,docker的镜像更新的速度非常快,所以看到这个tomcat的镜像是九天前的,这是最新版本,那么怎么查看具体的版本了,我们可以这个命令:
Docker image inspect 是查看镜像的详细信息,然后筛选出版本的信息,我们可以看到这儿的tomcat的版本是8.5.53
3.3 运行镜像
命令:docker run -it tomcat -p 8080:8080 -d bash
解释一个这几参数是什么意思:
run是执行镜像的意思
-it以交互式的方式执行,也就是我们可以看到的执行的过程
-p是映射端口,将主机的8080与容器里面的8080端口映射,访问主机的8080实际上就会访问容器里面的内容
-d以守护线程的方式执行
bash是指定交互的方式,我们可以看到,运行容器后,进入到容器里面了
以run的方式运行,交互性界面退出,容器也跟着退出了,可以用:
docker exec -it container-id bash,这种方式在后台运行,在测试的时候方便很多
3.4 查看运行的容器
命令:docker ps -a
在这儿我执行了三次上面的命令所以有三个容器在运行,从前到后的意思是:
容器id,镜像以及端口的映射关系,名称,创建时间,容器的状态
名称可以在运行容器时指定,用--name,
几种状态要知道:创建、运行、暂停、停止、退出
3.5容器的暂停/停止/
暂停命令:docker pause container-id
停止命令:docker stop container-id
运行之后的状态变了,stop就是已经退出了
3.6容器的启动与重启
启动命令:docker start container-id
重启命令:docker restart container-id
3.7 容器的移除
删除命令: docker rm container-id
强制杀死:docker kill container-id
3.8清理未运行的容器
清理命令:docker container prune
3.8 docker 镜像的移除
移除命令:docker rmi image-id
根据镜像id移除,也支持批量化的移除方式
我们目标很简单,创建一个tomcat镜像,创建一个1.txt文件,写一个hello world在里面,然后将镜像运行起来,访问页面,能够显示hello world
4.1 创建一个镜像目录,mkdirs /usr/local/images/tomcat
4.2 创建一个txt文件,写入helloworld
touch 1.txt
echo “hello world” >> 1.txt
4.3 创建Dockerfile文件,这个名字必须的,而且是必须这个文件,然后写入
touch Dockerfile
chmod +x Dockerfile
4.4 在Dockerfile中写入构建脚本
4.5 构建镜像
Docker build -t mowen/tomcat .
4.6 运行镜像
Docker run -d -it -p 8080:8080 mowe/tomcat
4.7 在浏览器输入ip:port/1.txt访问,是否能够显示hello world, 这样我们成功创建一个可以运行的镜像
在此docker的基本使用已经讲解完,对于已经熟练的开发人员,学习起来很快,一天可以入门完成这些东西