容器相对于虚拟机有什么特点?
1.体积小
2.启动速度快
3.性能接近原生
4.单节点支持的容器的数量多
5.环境一致性
环境准备
[root@ c7-41 ~]# systemctl stop firewalld
[root@ c7-41 ~]# setenforce 0
setenforce: SELinux is disabled
#docker所需要的组件和源
[root@ c7-41 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
[root@ c7-41 ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#阿里云:https://developer.aliyun.com/mirror
[root@ c7-41 ~]# cd /etc/yum.repos.d/
[root@ c7-41 yum.repos.d]# ll docker*
-rw-r--r-- 1 root root 1919 Apr 8 23:57 docker-ce.repo
docker安装
[root@ c7-41 ~]# yum -y install docker-ce
[root@ c7-41 ~]# mkdir -p /etc/docker/
[root@ c7-41 ~]# cd /etc/docker/
[root@ c7-41 docker]# vim daemon.json
[root@ c7-41 docker]# cat daemon.json
{
"registry-mirrors": ["https://q3u0qv3z.mirror.aliyuncs.com"]
}
[root@ c7-41 docker]# systemctl enable docker.service #开机自启
[root@ c7-41 docker]# systemctl start docker.service #docker启动
[root@ c7-41 docker]# docker version #查看版本
[root@ c7-41 docker]# docker info #查看详细信息
搜索、拉取镜像
[root@ c7-41 ~]# docker search 镜像名 #搜索镜像
[root@ c7-41 ~]# docker image pull 镜像名 #拉取镜像
[root@ c7-41 ~]# docker images #查看已有镜像
[root@ c7-41 ~]# docker network ls #查看本地网络
NETWORK ID NAME DRIVER SCOPE
34c1ab543228 bridge bridge local
f04091ebd23f host host local
dabdd1f3de89 none null local
[root@ c7-41 ~]# docker ps #查看容器
[root@ c7-41 ~]# docker ps -a #查看所有容器
[root@ c7-41 ~]# docker rm 容器名 #删除容器
docker概念
1.镜像仓库(hub.docker.com 镜像仓库)
2.镜像
3.容器
docker常用命令
对镜像的操作:
1.获取镜像
增:
docker pull 镜像名:TAG
删:
删除镜像,我们不能直接删除有容器依赖的镜像
docker rmi 镜像名/ID
docker rmi -f 镜像名/ID
改:
docker tag
查:
查看本地镜像
docker images
对容器的操作:
增:
1.创建并运行容器
docker run --name 容器名字 -d -p 宿主机端口:容器端口 基础镜像
例子: docker run --name web1 -d -p 80:80 nginx:latest
docker run --name learn1 -it busybox /bin/sh 以可交互的方式运行一个容器
删:
删除容器,我们不能直接删除一个正在运行的容器,需要先停止再删除,或者-f,强制删除
docker rm web1
docker rm -f web1
改:
容器重命名
docker rename 修改容器名字
容器启动和停止
docker start/stop/restart 容器名
docker pause 容器名 \\暂停容器
docker unpause 容器名 \\取消暂停容器
docker update \\更新容器的配置
docker cp \\容器和宿主机之间复制文件,默认覆盖已有的文件
docker exec \\在运行的容器中执行一条命令
docker exec -it web1 /bin/bash \\以交互的方式进入web1容器操作
查:
查看正在运行的容器
docker ps
查看所有的容器
docker ps -a
docker stats 容器名 \\查看容器运行状态(CPU\内存\网络IO\磁盘IO使用情况)
docker top 容器名 \\查看容器正在运行的进程
docker inspect 容器/镜像 \\查看容器或者镜像的底层信息,元数据,比如查看ip、主机名、数据卷、CMD等信息
docker logs [-f] \\查看容器内部进程的日志