一、安装docker
1、卸载旧版本的docker
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine \ docker-ce
2、虚拟机联网的情况下,安装yum工具
yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken
3、更新本地镜像源
设置docker镜像源 yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
4、下载docker的社区免费版本
yum install -y docker-ce
5、docker应用需要用到各种端口,逐一去修改防火墙非常麻烦,建议直接关闭防火墙
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
# 查看防火墙状态
systemctl status firewalld
6、启动docker
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
查看docker启动没启动
systemctl status docker
或者用此命令查看版本,有版本号就是启动正常
docker -v
7、配置镜像
docker官方镜像仓库网速较差,我们需要设置国内镜像:
参考阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://3hydz3lm.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
二、docker的基本操作
1、镜像操作
镜像名称一般分为两个部分组成:[repository]:[tag],没指定tag时默认是latest,代表最新镜像
拉取镜像可以去官网拉:https://hub.docker.com/
操作1:拉取nginx镜像,并且查看所有镜像
操作2:利用docker save将nginx镜像导出磁盘,再通过load加载回来
先把nginx镜像导出,nginx.tar是导出的文件,没有这个文件会自己建,后边是 镜像名:版本
docker save -o nginx.tar nginx:latest
删除现在有的nginx
docker rmi nginx:latest
用load加载nginx.tar
docker load -i nginx.tar
2、容器操作
操作1:创建运行一个nginx容器
去docker hub查看nginx的容器运行命令
创建运行nginx容器,返回一个唯一id
docker run --name mn -p 80:80 -d nginx
查看docker状态
docker ps
测试
查看docker容器的日志
可以跟踪日志输出,ctrl+c可以停止
docker logs -f mn
操作2:进入nginx容器,修改html文件内容,添加点文字(不推荐再容器内部修改,没有记录)
进入nginx容器(这里边是阉割版的linux系统,只有nginx运行自己需要的)
docker exec -it mn bash
现在需要找nginx再那个目录,去官网找
进入这个目录
找到首页的html,index.html
sed -i 's#Welcome to nginx#!!!!!!!!!!#g' index.html
sed -i 's#<head>#<head><meta charset="utf-8">#g' index.html
测试,访问,修改成功
通过exit可以退出容器里边
暂停mn容器
docker stop mn
不能使用docker ps命令看见暂停的容器,默认只能查看运行的容器,需要加-a,显示所有的容器
docker ps -a
用命令再次启动暂停的容器
docker start mn
删除容器:需要把容器停止后才能用docker rm删除,不能用docker rm强制删除,除非加参数-f
docker rm -f mn
3、数据卷(容器数据管理)