docker的安装和使用(老详细了)

docker

docker 是什么?

docker 是使用go语言开发的,开源应用容器引擎!他的主要作用就是来运行容器的!

盒子!!

我们可以把一些应用或者环境打包在一个容器中,然后在安装了docker的服务器上都可以直接运行这个容器!然后直接访问!

例如
我们把wordpress这个php应用直接打包在一个容器中!
只要我们的服务器上安装了docker就可以直接运行这个容器,
然后就可以直接访问到这个容器里面的wordpress! 而我们运行容器我们只需要一个命令!这让我们可以快速的部署一些
复杂的应用或者环境!

三个基本概念

镜像:
作用是用来创建容器的!

容器:
可以迁移、轻量级
以镜像的形式迁移的!

仓库:
存放镜像的!
私有仓库!
harbor 私有镜像,定制的镜像!

与虚拟机的对比

启动速度:
虚拟机开机时间: 2分钟
容器开启时间: 秒级别!

磁盘的占用:
虚拟机: 3-4G
容器: 兆级别

性能:
虚拟机: 弱于原生
容器: 几乎接近于原生的性能

迁移:
虚拟机: 笨重
容器: 快

在线安装docker

1.首先做一个docker源
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
或者
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
//检查源文件是否创建成功
ls /etc/yum.repos.d/docker-ce.repo        #文件存在则成功!
2.安装docker并启动
yum -y install docker-ce
systemctl start docker
systemctl enable docker
3.配置镜像加速
//编写daemon.json配置文件到/etc/docker/下,然后重启docker就完成加速
vim daemon.json 
{
  "registry-mirrors": ["https://q3u0qv3z.mirror.aliyuncs.com"],
   "insecure-registries":["192.168.189.171"]  #本机ip
}
4.测试
docker run hello-world

docker离线安装

//上传docker的离线安装包和docker的启动命令到虚拟机
docker-19.03.9.tgz   docker.service
1.解压docker
tar zxf docker-19.03.9.tgz
cp  docker/* /usr/bin
2.配置docker启动命令
cp docker.service /etc/systemd/system
chmod 755 /etc/systemd/system/docker.service
3.启动docker
systemctl daemon-reload
systemctl start docker
systemctl enable docker

常用的命令

镜像:
1.下载镜像:
docker pull nginx

docker search 关键词

常用的镜像:
nginx
httpd
tomcat
mysql:5.7
wordpress
centos
2.上传镜像到仓库
docker push 服务器地址/镜像名:tag
3.查看本地下载了哪些镜像:
docker images
4.删除一个或者多个镜像:
docker  rmi  [-f]  镜像名字/镜像ID
5.给镜像添加一个新的tag
docker tag  旧镜像名:tag  新景
容器:

容器的运行方式有两种!
前台运行容器(centos)

后台运行容器(主要的运行方式)

1.创建容器,用的比较少
  docker create
2.启动一个或多个容器
  docker start     容器名/容器的ID
3.停止或者重启一个或多个容器
  docker stop      容器名/容器的ID
  docker restart   容器名/容器的ID
4.创建并运行一个容器,主要的创建容器的方式

  docker run --name 容器名  -d  -p  nginx

      --name  新容器的名字(必须是唯一的)
      -d      后台运行容器
      -p      端口映射
  
  docker run --name nginx1 -d -p 81:80 nginx
  docker run --name httpd1 -d -p 82:80 httpd
  docker run --name tomcat1 -d -p 8080:8080 tomcat
5.查看正在运行的容器
  docker ps
6.查看所有的容器(运行和停止)
  docker ps -a
  docker ps -qa  只显示所有容器的ID
7.查看容器或者镜像的元数据
  docker inpsect 容器名
  这里可以看到容器的IP地址、网关、挂载的数据卷、执行的命令等等信息!
8.删除一个或多个容器
  docker rm  容器名/容器ID
  docker rm -f  容器名/容器ID
  
  删除所有已经停止的容器:
  docker rm $(docker ps -qa)

  删除所有的容器
  docker rm -f $(docker ps -qa)
9.容器和宿主机之前复制文件
  docker cp  

  复制测试页面到nginx容器的网站根目录下
  docker cp index.html  nginx1:/usr/share/nginx/html/index.html
10.进入容器内部
   docker exec -it 容器名 bash
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值