1,Centos7上docker的安装步骤:
1.1 可以参考docker官网安装手册
https://docs.docker.com/engine/install/centos/
1.2 yum安装gcc环境
$ yum install gcc -y
1.3卸载旧版本(安装过docker旧版本的话)
$ sudo yum remove docker docker-common docker-selinux docker-engine
1.4安装需要的软件包
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
1.5设置yum源(使用国内阿里云镜像)
$ sudo yum-config-manager --add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.6查看仓库中所有的docker版本
$ yum list docker-ce --showduplicates | sort -r
1.7安装docker ce
$ sudo yum install docker-ce
1.8启动docker,并且加入开机启动
$ sudo systemctl start docker
$ sudo systemctl enable docker
1.9查看docker版本查看docker是否安装成功
$ docker version
2,镜像的下载以及容器的启动:
2.1 首先查找仓库中是否存在所需的镜像(以redis为例)
$ docker search redis
2.2 下载镜像到本地(redis后面不跟版本号默认是latest)
$ docker pull redis
2.3 查看本地镜像
$ docker imgaes
2.4删除镜像
$ docker rmi 镜像名/镜像ID
$ docker rmi -f 镜像名/镜像ID (强制删除)
2.5 创建容器并启动(给容器起一个别名)
docker run -it --name mycentos7 镜像名 /bin/bash (–name后跟给容器起的别名)
创建容器指定端口号(前台运行)
docker run -it -p 端口号:端口号 容器名/容器ID(前面是映射到宿主机上的端口,后面是容器的端口)
创建容器指定端口号(后台运行)
docker run -d -p 端口号:端口号 容器名/容器ID(前面是映射到宿主机上的端口,后面是容器的端口)
2.6关闭容器
停止容器并退出 exit
容器不停止退出 ctrl+P+Q
正常关闭容器 docker stop 容器ID
强制关闭容器 docker kill 容器ID
2.7启动已经停止的容器
docker start 容器ID或容器名
2.8 删除容器
删除已经停止的容器 docker rm 容器ID
强制删除没有停止的容器 docker rm -f 容器ID
2.9 进入容器
直接进入容器启动命令终端 docker attach 容器ID
在容器中打开新的终端 docker exec -it 容器ID bin/bash
复制容器中的文件到宿主机 docker cp 容器ID:/usr/local/tomcat/RUNNING.txt /root (/root是复制到宿主机的地址)
2.10 查看创建好的容器
docker ps -a
2.11 查看正在运行的容器
docker ps
2.12提交容器的副本使之成为一个新的镜像
docker commit -m=”提交的描述信息” -a=”作者” 容器的ID 要创建的目标镜像名:[标签名]
3,配置阿里云镜像:
CentOS7以上使用阿里云官网提供的操作文档
2.1修改docker镜像加速器的配置 vim /etc/docker/daemon.json
2.2在文件编辑中添加阿里云服务器的地址 json格式
{
“registry-mirrors”: [“https://xye15cmx.mirror.aliyuncs.com”]
}
保存退出 Esc–> Shift+: -->wq!
放弃编辑处理的结果退出 Esc–> Shift+: -->q!
保存以后重新加载 sudo systemctl daemon-reload
如果之前已经开启docker就重启一下 sudo systemctl restart docker
如果之前没开启docker,直接启动sudo service docker restart
查看当前docker容器的加速器地址 ps -ef|grep docker
注意:如果不是root用户,要在命令前加上sudo
4,数据卷:
数据卷作用:容器数据的持久化,容器间数据的共享,容器与宿主机之间的数据共享
将容器的目录和宿主机的目录映射起来:
docker run -it -v /宿主机的目录或者文件:/容器内的目录或者文件centos
创建centos容器的数据卷 docker run -it -v /root/data:/root/data_container centos
进入宿主机的data目录,创建hello.txt touch hello.txt
进入容器的data_container目录发现也存在hello.txt