Docker学习之旅--初识docker
Posted 赵jc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker学习之旅--初识docker相关的知识,希望对你有一定的参考价值。
Docker
安装Docker
- 查看内核版本(Linux操作系统Centos7,Linux内核版本至少在3.10以上)
使用uname -a命令查看
uname -a
- 更新yum包
yum update
- 安装docker
yum makecache fast #设置一个缓存
yum install docker -cd #安装最新版本
- 启动docker,加入开机启动,验证安装
systemctl start docker
systemctl enable docker
docker version
- 测试
docker pull hello-world
docker run hello-world
docker images
- 卸载docker
yum list installed | grep docker
yum -y remove docker名称
docker的中央仓库
docker而的中央仓库,就是存放镜像的网站,别人可以从这个网站中去下载镜像来使用。
一、官网(镜像最全,但下载速度最慢)
- https://hub.docker.com/
二、国内镜像
- 网易蜂巢 http://c.163.com/hub
- daoCloud(推荐)http://hub.daoCloud.io/
docker镜像操作
- 拉取镜像到本地
docker pull 镜像名称[:版本号]
- 查看本地的全部镜像
docker images
- 删除本地镜像
docker rmi 镜像的id
- 修改镜像名称
docker tag 镜像的id 新镜像的名称:版本
- 镜像的导入导出(不太正规)
当我们的网络很慢的啥时候,下载镜像比较麻烦,而别人有这个镜像的话可以直接导出到本地发给我们,我们收到文件后加载到本地即可
将本地镜像导出
docker save -o导出路径 镜像的id
加载本地的镜像文件(加载后镜像的名称和tag都为none,所以需要我们手动修改镜像的名称)
docker load -i 镜像文件
docker容器操作
一、运行容器
简单操作
docker run 镜像的标识镜像名称[:tag]
常用参数
docker run -d -p宿主机端口:容器端口 --name 容器名称 镜像的标识镜像名称[:tag]
- -d:代表后台运行容器
- -p:宿主机端口号:容器端口:为了映射当前Linux的端口和容器的端口
- –name:指定容器的名称
二、查看正在运行的容器信息(查看容器的id等信息)
docker ps [-qa]
- -a:查看全部的容器,包括没有运行的
- -q:只查看容器的标识(容器的id)
三、查看容器的日志
docker logs -f 容器id
- -f:可以滚动查看日志的最后几行
四、进入到容器内部
docker exec -it 容器id bash
无、删除容器\\镜像(删除容器前,需要先停止容器)
- 停止指定的容器
docker stop 容器id
- 停止全部容器
docker stop $(docker ps -qa)
- 删除指定容器
docker rm 容器id
- 删除全部容器
docker rm $(docker ps -qa)
- 启动容器
docer start 容器id
五、将项目部署到Tomcat
前提条件是服务器已经存在tomcat容器
- 先将项目文件上传到服务器
- 将项目拷贝到tomcat容器的webapps目录下
docker cp 项目文件名称 容器id:/usr/local/tomcat/webapps
docker数据卷
为了部署我们的项目工程,需要使用到cp命令将宿主机内的项目文件复制到文件内部,但如何经常修改的话比较繁琐,所以接下来我们来介绍一种新的方法—数据卷。
数据卷:将宿主机的一个目录映射到容器的一个目录中,可以在宿主机中操作目录中的内容,那么容器内部映射的文件也会随着一起改变。
- 创建数据卷
docker volume create 数据卷名称
#创建数据卷之后,默认会存放在一个目录下 /var/lib/docker/volumes/数据卷名称/_data
- 查看数据卷的详细信息
docker volume inspect 数据卷名称
- 查看全部的数据卷
docker volume ls
- 删除数据卷
docker volume rm 数据卷名称
- 数据卷的实际应用
当你映射数据卷时,如果数据卷不存在,docker会帮你自动创建,会将容器内部自带的文件,存储在默认的存放路径中。
一共有两种常用的方式
第一种:这种就是直接映射的是数据卷默认存储的地址-/var/lib/docker/volumes/数据卷名称/_data
docker run -v 数据卷名称:容器内部的路径 镜像id
第二种:直接指定一个路径作为数据卷存放的位置,这个路径下是空的,就不需要创建数据卷了
docker run -v 自定义路径:容器内部的路径 镜像id
dockerfile自定义镜像
docker-compose
一、docker-compose的性质:
- 运行一个镜像,需要添加大量的参数(-d -p等等)
- 可以通过docker-compose来编写这些函数
- docker-compose可以帮助我们批量的管理容器
- 只需要通过一个docker-compose.yml文件去维护即可
二、下载安装
- 1.去github官网搜索docker-compose,下载对应版本的Docker-Compose
https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64
- 2.将下载好的文件,上传到服务器中
- 3.需要将DockerCompose文件的名称修改一下,基于DockerCompose文件一个可执行的权限
mv docker-compose-Linux-×86_64 docker-compose
chmod 777 docker-compose
- 4.方便后期操作,配置一个环境变量
- 5.将docker-compose文件移动到了/usr/local/bin,修改了/etc/profile文件,给/usr/local/bin配置到了PATH中
相关命令:
- 基于docker-compose.yml启动管理的容器
docker-compose up -d
- 关闭并删除容器
docker-compose down
- 开启关闭重启已经存在的由docker-compose维护的容器
docker-compose start|stop|restart
- 查看由docker-compose管理的容器
docker-compose ps
- 查看日志
docker-compose logs -f
以上是关于Docker学习之旅--初识docker的主要内容,如果未能解决你的问题,请参考以下文章