一、Docker总架构图
CS客户端服务器架构模式
二、安装Docker
Docker运行在Centos7上,需要系统为64位,且内核版本在3.10以上。
Docker分为社区版本docker-ce,与商业版本docker-ee。我们安装的是docker-ce。
1、Yum安装
如果已经安装,需要先移除旧的版本。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
复制代码
安装必要的工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
复制代码
添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
复制代码
更新yum缓存:
sudo yum makecache fast
复制代码
安装docker-ce
sudo yum -y install docker-ce
复制代码
启动docker后台服务:
sudo systemctl start docker
复制代码
测试运行:
sudo docker run hello-world
复制代码
由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。
2、脚本安装
确保yum包更新到最新:
sudo yum update
复制代码
执行docker安装脚本(执行这个脚本会添加 docker.repo源并安装docker):
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
复制代码
启动docker进程:
sudo systemctl start docker
复制代码
验证docker安装是否成功,并在容器中执行一个测试的镜像:
其中docker ps可以查出运行的镜像。如果docker ps -l可以查询出最后一次创建的容器。
sudo docker run hello-world
docker ps
复制代码
3、镜像加速
鉴于默认的镜像地址比较慢,我们可以采用国内的镜像地址,例如使用网易加速地址:
我们只需要在/etc/docker/下,创建一个文件daemon.json,并添加如下内容即可:
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
复制代码
执行以下命令后生效:
systemctl daemon-reload
systemctl restart docker
复制代码
4、删除Docker
sudo yum remove docker-ce
sudo rm -rf /var/lib/docker
复制代码
三、容器相关
根据一个镜像,启动一个容器,并运行其中的命令。
docker run ubuntu /bin/echo "Hello world"
复制代码
与容器交互:
-i:允许你对容器内的标准输入进行交互。
-t:在新容器内指定一个终端。
退出的话,exit,或者ctrl+D。
docker run -it ubuntu /bin/bash
复制代码
通过如下命令,传递进去容器id,就可以查看容器的标准输出。
-f参数,可以像tail -f 参数一样,有日志就打印出来。
docker logs -f container-id
复制代码
关闭容器:
docker stop container-id
复制代码
查看所有的镜像:
docker images
复制代码
查看容器:
docker ps -a
复制代码
1、Docker命令
命令行里直接docker,会打出所有的docker命令。
输入以下命令,会打印出命令docker run的详细用法。想知道其他命令的详细用法,可以参考。
docker run --help
复制代码
2、运行web应用
拉取镜像:
docker pull training/webapp
复制代码
运行镜像,参数解释:
-d:让容器运行在后台。
-P:将容器内部使用的网络端口随机映射到我们使用的主机上。注意使用的大写的P的参数。与小写p的区别。
docker run -d -P training/webapp python app.py
复制代码
查看容器运行状态:
其中将容器内部的5000端口映射到了主机的32768端口上。
我们可以直接通过此端口访问:http://10.150.27.99:32768
docker ps
复制代码
四、后续内容展望
1、容器的应用
可以参考我的另一篇文章:启动你的第一个容器