史上最快Docker入门教程

一、容器、服务器介绍

Docker就是一中快速解决生产问题的一种技术手段,可以使用Docker构建项目运行所依赖的环境。

镜像:

  构建容器所需要的环境 ,一个镜像可以创建无数个容器

容器:

  即通过镜像创建出来的容器,它的运行需要依赖于操作系统

仓库:

  既存放镜像的地方

服务器:

  服务器就是一台电脑,里面装的是对应的软件

二、Docker基础命令

 1.查看docker服务状态

systemctl status docker  //查看状态

systemctl start docker   //开启

systemctl stop docker   //关闭

systemctl restart docker   //重启

2.查看docker版本

docker version

3.删除docker命令

yum remove docker-ce

rm -rf /var/lib/docker/     //docker的认证目录

rm -rf /etc/docker          //docker的应用目录

4.搜索某个镜像

docker search xxx

5.下载镜像

docker pull xxx

6.查看所有镜像

docker images
docker image ls

7.查看镜像历史

docker history xxx

8.镜像的备份

docker tag xxx:latest xxx:1.0

9.删除未被使用的镜像

docker image prune

10.导出镜像到宿主机

docker save -o xxx:latest.tar xxx:latest

11.导入镜像

docker load -i xxx:latest.tar

12.查看所有容器

docker ps  //查看正在运行的容器

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

13.查看容器的编号

docker ps -q   //查看正在运行容器编号

docker ps -aq  //查看所有容器编号

14.守护进程启动nginx容器

docker run -itd --name byf nginx:latest

  -i 标识持续和容器交互,防止断开

  -t 分配一个伪TTY,以便和容器进行命令的交互   

  -d不显示创建内容

  -it合起来用就是信号连接

  --name 创建的容器名字

  nginx:latest  镜像名字加tag

15.停止容器

docker stop xxx  //停止容器

docker rm xxx    //删除容器

docker start xxx //启动容器

16.批量删除正在运行的容器

docker rm $(docker ps -q) -f

 -f 强制删除正在运行的容器

17.删除未运行的容器

docker rm $(docker ps -qa) -f

18.创建nginx容器并进入

docker run -it --name mynginx nginx:latest /bin/bash

19.重新进入nginx容器

docker exec -it nginx /bin/bash

20.通过nginx容器创建nginx:v1.0 镜像

docker commit -m 'haha' -a 'laowang' nginx nginx:v1.0

-m 改变了什么

-a 作者是谁

21.查看nginx镜像、容器全部信息

docker image inspect nginx:v1.0

docker container inspect nginx

三、私有仓库的搭建

镜像就是来自于仓库

公有仓库是从docker Hub来拉去镜像

私有仓库备份镜像 需要自己配置  速度非常快

1.下载镜像registry

docker search registry

docker pull registry

2.配置私有仓库(/etc/docker/daemon.json)

前面是共有仓库  , 后面是私有仓库自己宿主机的IP  端口可以任意写我这里用的是5000

3.重启docker

systemctl restart docker

4.创建registry容器(关联私有仓库配置)

-p  端口映射

-d   后台运行不显示

5.镜像备份到私有仓库

docker tag nginx:latest 192.168.145.165:5000/my_nginx

6.推送镜像到私有仓库

docker push 192.168.145.165:5000/my_nginx

7.删除原有的镜像

docker rmi 192.168.145.165:5000/nginx:latest

8.下载镜像会自动从私有仓库拉取

docker pull 192.168.145.165:5000/my_nginx

四、数据卷

1、数据卷的作用: 

  可以将宿主机中的数据喝容器中的数据进行共享

2、创建过程:

   在宿主机中创建目录test

   将宿主机的目录下的test绑定到容器中

  -v 数据卷

docker run -it --name my_nginx -v /root/test:/test nginx:latest /bin/bash

执行这条命令就可以实现宿主机和容易test目录共享

数据卷volumes

1.创建数据卷

docker volume create xxx

2.查看数据卷

docker voleme  ls

3.删除数据卷

docker volume rm xxx

数据共享操作

创建数据卷meiduo

docker volume create meiduo

 创建容器my_nginx和/home进行数据共享

docker run -it --name my_nginx -v meiduo:/home nginx:latest /bin/bash

数据卷容器的使用

作用:

可以通过数据卷容器,创建新的容器,并将多个容器绑定在一起

操作流程:

基于my_nginx数据卷容器创建多个容器

docker run -itd --name my_nginx --volumes-from my_nginx1 nginx:latest

五、端口映射的使用

 创建nginx容器的时候,分配ip和端口

1.创建ndinx1容器,指定随机端口,默认ip是0.0.0.0

docker -itd --name nginx1 -P nginx:latest

2.创建nginx2容器,指定端口6001,默认ip地址是0.0.0.0

docker run -itd --name nginx2 -p 6001:80 ngnix:latest

3.创建nginx3容器,指定ip 172.16.12.134 指定端口6002

docker run -itd --name nginx3 -p 172.16.12.134:6002:80 nginx:latest

 

 

 

 

 

 

 

 

 

什么是Docker Docker 最初是dotCloud 公司创始人Solomon Hykes 在法国期间发起的一个公司内部项目, 它是基于dotCloud 公司多年云服务技术的一次革新,并于2013 年3 月以Apache 2.0 授权 协议开源,主要项目代码在GitHub 上进行维护。Docker 项目后来还加入了Linux 基金会, 并成立推动开放容器联盟(OCI)。 Docker 自开源后受到广泛的关注和讨论,至今其GitHub 项目已经超过4 万6 千个星标和一 万多个fork。甚至由于Docker 项目的火爆,在2013 年底,dotCloud 公司决定改名为 DockerDocker 最初是在Ubuntu 12.04 上开发实现的;Red Hat 则从RHEL 6.5 开始对 Docker 进行支持;Google 也在其PaaS 产品中广泛应用DockerDocker 使用Google 公司推出的Go 语言进行开发实现,基于Linux 内核的 cgroup,namespace,以及AUFS 类的Union FS 等技术,对进程进行封装隔离,属于操作 系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容 器。最初实现是基于LXC,从0.7 版本以后开始去除LXC,转而使用自行开发的 libcontainer,从1.11 开始,则进一步演进为使用runC 和containerd。 Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极 大的简化了容器的创建和维护。使得Docker 技术比虚拟机技术更为轻便、快捷。 下面的图片比较了Docker 和传统虚拟化方式的不同之处。传统虚拟机技术是虚拟出一套硬件 后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程 直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比 传统虚拟机更为轻便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值