docker和docker-compose安装及常用命令

1.docker介绍及安装

什么是docker

docker是一个开源的应用容器引擎,开发者可以打包自己的应用到容器里面,然后迁移到其他机器的docker应用中,可以实现快速部署。如果出现的故障,可以通过镜像,快速恢复服务。

原理

docker是利用Linux内核虚拟机化技术(LXC),提供轻量级的虚拟化,以便隔离进程和资源。LXC不是硬件的虚拟化,而是Linux内核的级别的虚拟机化,相对于传统的虚拟机,节省了很多硬件资源。

NameSpace

LXC是利用内核namespace技术,进行进程隔离。其中pid, net, ipc, mnt, uts 等namespace将container的进程, 网络, 消息, 文件系统和hostname 隔离开。

Control Group

LXC利用的宿主机共享的资源,虽然用namespace进行隔离,但是资源使用没有收到限制,这里就需要用到Control Group技术,对资源使用进行限制,设定优先级,资源控制等。

内核支持

在CentOS6.8是可以支持docker,但是有些特性无法使用,因此至少使用3.8的内核版本,建议是使用3.10版本以上。国内生产环境很多都是使用CentOS,所以一般使用CentOS7即可。

当然如果是Ubuntu/Debian/Deepin系列的发行版本也是支持的。

环境准备(su - root之后不用加sudo)
step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Step 3: 更新并安装 Docker-CE
#更新yum源或者出现配置yum源之后,通常都会使用yum makecache 生成缓存,非必须
sudo yum makecache fast
#执行此句即可
sudo yum -y install docker-ce
Step 4: 开启Docker服务
sudo service docker start
或者systemctl start docker
#start可以替换成restart/stop,重启或者停止docker服务,两种命令方式与CentOS版本有关,7请使用systemctl
查看安装版本

docker version

把项目打成jar包,生成镜像,容器,启动容器项目就可以运行了。在入口类main方法中写一个输出语句,启动的时候在docker日志里就可以看到输出。

2.常用命令

2.1常用命令

docker默认安装在 /var/lib/docker 目录下,进入到该目录下

docker search hello-world/tomcat

docker pull hello-world/tomcat //默认拉取最新

docker run image名 //运行镜像

docker start 容器名/容器ID //启动容器

docker images //查看本地镜像

docker ps -a //查看所有容器

docker ps //查看当前有哪些容器正在运行

docker rmi 镜像名称/镜像ID //删除镜像

docker rm 容器名称/容器ID //删除容器(删除前必须先停止容器的运行)

docker start 容器名称/容器ID //启动一个容器

docker restart 容器名称/容器ID //重启一个容器

docker stop 容器名称/容器ID //停止一个在运行的容器

docker run -d -p 8081:8080 --name tomcat01 tomcat //利用镜像创建一个容器

-d: 在后台运行

-p:映射端口号 这里将tomcat01的端口8080映射到宿主机的8081端口

–name: 为容器取名字

tomcat: 本地镜像仓库的镜像

ctrl+d //退出容器且关闭

ctrl+p+q //退出容器但不关闭

docker exec -it 容器名称/容器ID /bin/bash //进入容器,有的直接加/bash就可以

ls //查看目录

docker exec -it tomcat01 /bin/bash //进入容器tomcat01内部

docker cp /webapps/bookManagement.war tomcat01:/usr/local/tomcat/webapps //复制到tomcat容器里

docker restart tomcat01 //重启tomcat01容器

docker logs -f --tail 200 tomcat02 //查看tomcat02容器的日志

docker inspect 容器名称/容器ID | grep IPAddress // 查看容器的ip

-v $(pwd)/redis.conf /usr/local/bin/redis.conf // 通过volume将配置文件挂载到容器中

2.2部署war包

springboot项目打成war包需要作特殊修改

https://blog.csdn.net/xiaoye319/article/details/90515996

3.docker-compose安装及使用

官网使用最新版进行安装,可以查看最近的版本及安装方法
  https://github.com/docker/compose/releases/

例如:

3.1安装

1.安装当前稳定版本

curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

2.对二进制文件应用可执行权限

chmod +x /usr/local/bin/docker-compose

3.查看版本(也可以校验是否安装成功)

docker-compose --version

你可能感兴趣的:(docker)