Docker | 虚拟机 | |
---|---|---|
资源 | 少 | 多 |
启动时间 | 短 | 长 |
安全 | 共享内核,不安全 | 系统逻辑隔离,安全 |
服务 | 一个容器只跑一个服务 | 可以运行多个服务 |
1、安装依赖包
yum -y install yum-utils device-mapper-persistent-data lvm2
PS:
yum-utils:提供了yum-config-manager
device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2
device mapper是linux2.6内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理块设备提供了一个高度模块化的内核架构
2、设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安装 Docker-CE
yum -y install docker-ce
4、关闭防火墙
systemctl stop firewalld && setenforce 0
5、开启Docker
systemctl start docker
将代码复制下来到命令行中执行
7、进行网络优化
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p ## 使配置立即生效
8、重启网卡及Docker
重启网卡服务:systemctl restart network
重启Docker服务:systemctl restart docker
docker version ## 详细
docker -v ## 简要
docker search nginx
docker pull nginx
PS:下载后镜像存放在/var/lib/docker中
docker images
docker inspect nginx:latest
或:
docker inspect 7e4d58f0e5f3
docker tag nginx:latest nginx:web
docker images | grep nginx
docker rmi nginx:latest
PS:如果要删除的镜像设置了别名,必须先将别名删除才可以删除镜像
docker save -o /opt/nginx nginx:web ## -o :输出到的文件
docker load < /opt/nginx
docker create -it nginx:latest /bin/bash
-i:让容器的标准输入保持打开
-t:让Docker分配一个伪终端
docker ps ## 显示运行中的容器
docker ps -a
-a:显示所有的容器,包括未运行的
docker inspect 55564a0ea061 | grep "Id"
docker start ad1a98b7a4d6
docker run centos:7 /bin/bash -c ls /
-c:执行命令
docker run -d centos:7 /bin/bash -c "while true;do echo hello;done"
-d:守护进程
docker exec -it f554f8cceb89 /bin/bash
退出容器:exit
docker export 0ef59defc2a1 > /opt/centos_c
cat /opt/centos_c | docker import - centos_c
docker rm 0ef59defc2a1
docker rm `docker ps -a -q` ## -q 只显示镜像ID
entos_c