1.docker的安装
方法1:
安装前提:1台7.3虚拟机和物理机
保证虚拟机可以上网;网关设成真机ip;
真机:ip_forward=1 (开启ipv4地址转发功能);开启防火墙地址伪装功能
(1)server1中:使用阿里云的yum源镜像,并安装docker-ce
—将CentOS7-Base.repo 和 docker-ce.repo 放到 /etc/yum.repos.d 目录下,并将 CentOS7-Base.repo 文件中修改 gpgcheck=0
[root@server1 ~]# cd /etc/yum.repos.d/
[root@server1 yum.repos.d]# ls
CentOS7-Base.repo docker-ce.repo redhat.repo yum.repo
[root@server1 yum.repos.d]# vim CentOS7-Base.repo (:%s/gpgcheck=1/gpgcheck=0/g)
[root@server1 yum.repos.d]# yum clean all
[root@server1 yum.repos.d]# yum repolist
(2)server1中:安装docker-ce并打开docker服务,也可以设置开机启动
[root@server1 yum.repos.d]# yum install -y docker-ce
[root@server1 yum.repos.d]# systemctl start docker.service
[root@server1 yum.repos.d]# systemctl enable docker.service
[root@server1 yum.repos.d]# systemctl status docker.service
(3)server1中:查看docker的ip、版本信息、docker宿主机(server1)的信息
安装好docker后,系统会为docker容器分配一个ip,利用ip addr可查看到docker0的ip,这个ip的作用是容器通信
[root@server1 yum.repos.d]# ip a
[root@server1 yum.repos.d]# docker version
[root@server1 yum.repos.d]# docker info
2.基于镜像运行容器,管理docker常用的基础命令
掌握这些命令是最基本的,然后才能操作docker,容器的运行是基于镜像的,这里我使用ubuntu的镜像来举例
docker load -i ubuntu.tar 导入镜像
docker run -it --name vm1 ubuntu 创建容器(以ubuntu镜像为模板)
docker ps 查看容器状态
docker ps -a 查看容器状态(包括不活跃的容器)
docker attach vm1 连接容器
docker top vm1 查看容器进程
docker logs vm1 查看容器指令输出 -f 参数可以实时查看
docker inspect vm1 查看容器详情
docker stats vm1 查看容器资源使用率
docker diff vm1 查看容器修改
docker stop vm1 停止容器
docker start vm1 启动容器
docker kill vm1 强制干掉容器
docker restart vm1 重启容器
docker pause/unpause vm1 暂停/恢复容器
docker rm vm1 删除容器
3.镜像的导入和容器的使用
镜像的导入即就是基于镜像拉起一个容器,其实真实的服务是封装在镜像中的,不过拉起一个容器就可以使用服务了
容器类似于一个虚拟机,基于镜像拉起一个容器,就相当于部署了一个服务,快速高效
实例一:利用容器简单搭建一个2048小游戏
利用docker命令导入镜像game2048.tar
[root@server1 docker]# docker load -i game2048.tar
查看镜像信息,创建容器vm1并运行
[root@server1 docker]# docker images
[root@server1 docker]# docker run -d -p 80:80 --name vm1 game2048 #创建一个名为vm1的容器,并将物理机(server1宿主机)的80端口映射到容器的80端口,通过本机80端口访问容器内部的80端口上运行的服务,运行容器并打入后台,这个容器是基于game2048这个镜像运行的
有镜像才有容器,基于镜像把容器运行起来
参数 | 功能 |
---|---|
-d | 打入后台 |
-p | 端口映射 |
- -name | 指定容器的名字 |
查看容器运行状态,并查看端口是否开启
[root@server1 docker]# docker ps
[root@server1 docker]# netstat -ntlp
查看容器信息
[root@server1 docker]# docker inspect vm1
game2048的ip为172.17.0.2
在物理机浏览器访问server1
前提是server1的80端口没有被占用,这样就可以通过server1访问容器vm1的80端口
方法二:
安装前提:1台7.5虚拟机