Docker(二)—Docker安装部署及简单应用(含配置镜像加速器)
1.Docker安装部署
首先我们在阿里云镜像站下载Docker CE的镜像:
yum install wget -y
cd /etc/yum.repos.d/
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
vim docker-ce.repo #将第一个yum源的gpgcheck改为0,再删除其他多余的,只留下图中内容即可
yum repolist #查看到dockerCE的源可用
yum install docker-ce
我们会看到这里有依赖性的报错,需要container-selinux >= 2:2.74:
我们去阿里云镜像站下载这个包:
yum install docker-ce container-selinux-2.77-1.el7.noarch.rpm -y
2.Docker简单应用之nginx部署
启动docker:
systemctl start docker
docker info #查看信息
cd /var/lib/docker
yum install bash-* -y #下载后重新连接虚拟机,就可以使用docker命令了
配置镜像加速器
下载镜像:
docker images #列出本地镜像(目前没有镜像)
docker pull nginx #下载nginx镜像
此时的下载会比较慢,建议配置一个镜像加速器:
首先需要登陆阿里云镜像,点击控制台—产品与服务—容器镜像服务—镜像加速器
这上面有具体的说明,做法如下:
cd /etc/docker/
vim daemon.json
{
"registry-mirrors": ["https://gjfwu172.mirror.aliyuncs.com"]
}
systemctl daemon-reload
systemctl restart docker
这样镜像加速器就配置好了
搜索nginx的镜像:
docker search nginx
我们可以看到这里不仅有官方的,还有一些用户自己上传的:
下载官方nginx镜像:
docker pull nginx
使用以下命令来查看是否已安装了nginx:
docker images
运行nginx容器:
docker run -d --name nginx nginx
参数说明:
–name nginx:容器名称
-d nginx: 设置容器在在后台一直运行
列出所有在运行的容器信息:
docker ps
ip addr show我们可以看到多出了一个网桥docker0:
端口映射
如果我们想要访问nginx的页面,需要做端口映射:
首先删除容器nginx:
docker rmi -f nginx #-f强制删除
docker ps #查看到没有运行的容器了
重新运行nginx:
docker run -d --name nginx -p 80:80 nginx
参数说明:-p 80:80: 端口进行映射,将本地80端口映射到容器内部的80端口
注意:此时本地的80端口不能被其他的占用
查看指定镜像的创建历史docker history:
docker history nginx:latest
此时我们查看到80端口已经成功映射到了容器内部的80端口:
再访问主机ip,即可看到nginx默认页面:
随机分配端口
-p的作用是指定端口映射,而-P可以随机分配一个端口:
docker run -d --name nginx1 -P nginx
获取容器/镜像的元数据:
docker inspect nginx1
查看到被分配的端口为32768:
测试:在页面访问http://172.25.254.1:32768可以看到nginx默认发布页
随机分配端口的优点就是不会有端口冲突