docker基础1

一、相关概念

1,容器与镜像

Docker 是一个开源的应用容器引擎

容器——是独立运行的一个或一组应用,它是一个类似于对象的概念

有了容器之后就需要有镜像,镜像——就是安装好系统的硬盘文件,由镜像能够生成很多个容器,容器可以想象成类的概念。每个镜像里都设置了相关程序,镜像是一层层组成的,最上面一层设置了运行什么程序,就是说它决定了跑什么容器!

Docker 主机(Host):一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。

Docker 客户端(Client):就是连接Host(具体来说host的守护进程)并使用其资源的东东。

Docker 仓库(Registry):仓库嘛,就是用来保存容器的地方咯。

Docker Machine:Docker Machine是一个简化Docker安装的命令行工具

2,docker的架构

架构图特别说下registries,相当于仓库的概念,当有什么镜像需要获取的时候,可以找registries。

二、安装

安装环境为centos7

1,修改centos7网卡

根据VMnet8的网段修改网卡

vim /etc/sysconfig/network-scripts/ifcfg-ens32:

dns和gateway 默认用2

2,安装docker

yum -y install docker

启动docker:

systemctl start docker

3,配置加速器(阿里云版)

登录阿里云后进入:

https://cr.console.aliyun.com/cn-hangzhou/mirrors

根据阿里云加速器配置docker:

4,搜索镜像

https://c.163yun.com/hub#/m/home/

5,验证docker是否安装成功

docker run hello-world

输出:

说明安装成功

三、docker命令(后续实验用到)

1,docker pull 镜像

载入镜像

2,docker tag 镜像

标记本地镜像,将其归入某一仓库。

3,docker rmi 镜像

标记本地镜像,将其归入某一仓库。

4,docker save 镜像名 > filename.tar

保存镜像

5,docker load -i filename.tar

加载镜像

6,把容器导出为镜像 docker export 容器名 > filename.tar

7,导入 cat filename.tar | docker import - 镜像名

8,docker ps查看正在运行的容器

9,docker logs获取容器的日志

10,docker run 创建一个新的容器并运行一个命令

四、测试docker(安装mysql、centos)

接下来,我们以案例按时讲解docker命令

1,安装mysql

docker pull hub.c.163.com/library/mysql:latest    #载入镜像

docker images(查看镜像)

2,运行centos

docker run hub.c.163.com/library/centos

为何程序会自动结束?原来运行的容器没有与运行任何进程

因此需要为run加入两个参数: -i 以交互模式运行容器    -t 为容器重新分配一个伪输入终端   这两个参数通常同时使用

docker run -i -t hub.c.163.com/library/centos

3,别名运行

docker run -i -t --name=c1 hub.c.163.com/library/centos

docker ps -a   #查看所有容器

4,启动和停止容器

docker start/stop c1

5,进入容器 

docker attach c1

或者:docker exec -it c1 /bin/bash

6,查看日志

docker logs c1

7,测试运行 mysql

docker run -dit --restart=always --name=db -p 13306:3306 -e MYSQL_ROOT_PASSWORD=redhat -e MYSQL_DATABASE=gzuni hub.c.163.com/library/mysql

MYSQL_ROOT_PASSWORD 物理机密码

8,重命名镜像

docker tag hub.c.163.com/library/mysql com.gzuni.com/test/mysql:v1

9,删除镜像

docker rmi com.gzuni.com/test/mysql:v1

10,查看镜像历史记录

docker history docker.io/mysql

11,镜像保存路径

ls /var/lib/docker/

ls /var/lib/docker/image/

ls /var/lib/docker/image/overlay2/

修改默认路径:

 vim  /usr/lib/systemd/system/docker.service 

12,导出镜像

docker save hub.c.163.com/library/mysql > mysql.tar

13,导入镜像

docker load -i mysql.tar

14,查看运行的进程

ps aux | grep -v grep | grep docker

15,查看 docker 运行/全部容器

docker ps        #运行

docker ps -a     #全部

16,目录挂载

docker run -dit --name=c1 -v /home/docker/data:/data hub.c.163.com/library/centos

-v 将物理机地址映射到容器目录

对映射后的目录进行修改会影响物理机的原文件。

猜你喜欢

转载自blog.csdn.net/qq_22059611/article/details/83021483