什么是Docker 镜像?
Docker 镜像就是一个只读的模板。
例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。镜像可以用来创建 Docker 容器。
Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。
容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。
什么是Docker 容器?
Docker 利用容器来运行应用。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。
安装 Docker 引擎
1.在阿里云注册账号 进入阿里云 https://www.aliyun.com/ 登陆后,进入【管理中心】
2.安装 docker 引擎 如果是安装最新版本 docker:
【管理中心】 –> Docker镜像仓库 –> 加速器 –> centos如果需要安装 docker 历史版本:
Docker Engine镜像源站
搭建docker环境
[root@foundation40 ~]# yum install -y docker-engine-17.03.1.ce-1.el7.centos.x86_64.rpm docker-engine-selinux-17.03.1.ce-1.el7.centos.noarch.rpm
[root@foundation40 ~]# systemctl start docker
[root@foundation40 ~]# docker info # docker宿主机的信息
镜像的导入和容器的使用
1.将game2048这个镜像加载
get game2048.tar
[root@foundation40 ~]# docker load -i game2048.tar #安装镜像
2.运行docker
[root@foundation40 ~]# docker run -d --name westos game2048 #-d打入后台 --name表示为这个容器起的名字是westos
22b11e9b1094a64c4ab4fcf9c02aa40113c64a89b601872efd338b015489697b
3.查看容器列表
[root@foundation40 ~]# docker ps -a #查看容器列表
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
22b11e9b1094 game2048 "/bin/sh -c 'sed -..." About a minute ago Up About a minute 80/tcp, 443/tcp westos
[root@foundation40 ~]# ip addr
在安装好docker后,linux系统会为docker容器分配一个ip,利用ip addr中查看docker0的ip
4.查看westos容器的ip
[root@foundation40 ~]# docker inspect westos #查看westos容器的ip
5.在本机浏览器中输入该ip,访问该容器网址(这个172.17.0.2是自己私有的ip地址,别人不能访问)
Docker常用命令
管理命令:
container 管理容器
image 管理镜像
network 管理网络
命令:
attach 介入到一个正在运行的容器
build 根据 Dockerfile 构建一个镜像
commit 根据容器的更改创建一个新的镜像
cp 在本地文件系统与容器中复制 文件/文件夹
create 创建一个新容器
exec 在容器中执行一条命令
images 列出镜像
kill 杀死一个或多个正在运行的容器
logs 取得容器的日志
pause 暂停一个或多个容器的所有进程
ps 列出所有容器
pull 拉取一个镜像或仓库到 registry
push 推送一个镜像或仓库到 registry
rename 重命名一个容器
restart 重新启动一个或多个容器
rm 删除一个或多个容器
rmi 删除一个或多个镜像
run 在一个新的容器中执行一条命令
search 在 Docker Hub 中搜索镜像
start 启动一个或多个已经停止运行的容器
stats 显示一个容器的实时资源占用
stop 停止一个或多个正在运行的容器
tag 为镜像创建一个新的标签
top 显示一个容器内的所有进程
unpause 恢复一个或多个容器内所有被暂停的进程
拉取网络镜像
1.编写镜像加速的文件
[root@foundation40 ~]# cd /etc/docker/
[root@foundation40 docker]# vim daemon.json
{
"registry-mirrors": ["https://iklzfcq9.mirror.aliyuncs.com"]
} # 阿里云中镜像加速的属于你的ip
2.重启服务
[root@foundation40 docker]# systemctl daemon-reload
[root@foundation40 docker]# systemctl restart docker
3.拉取nginx镜像
[root@foundation40 ~]# cd /etc/docker/
[root@foundation40 docker]# docker pull nginx
[root@foundation40 docker]# docker load -i nginx.tar #从tar归档文件读取镜像
[root@foundation40 docker]# docker run -d --name vm2 nginx
[root@foundation40 docker]<