一* docker文件系统引擎安装:
1,使用yum安装:
yum install docker -y
2,rpm包手动安装:
#官网下载rpm包
https://download.docker.com/linux/centos/7/x86_64/stable/Packages
#上传到服务器,使用rpm安装或yum install /path/安装包.rpm包
3,使用官方提供的一键安装脚本(缺点是安装的版本不提供选择,总是安装最新的edg版新版本,新特性,bug多和和test版)
需要root权限,且不要在已经使用其他方式安装了docker的服务器上使用脚本安装
安装edg版本:
#get.docker.com 总是安装Docker CE 的edge最新版本;(edg版,每月更新的版本,新特性,bug多)
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh
安装test版本:
#test.docker.com 总是安装Docker CE 的test最新版本
curl -fsSL test.docker.com -o test-docker.sh
sudo sh test-docker.sh
二* 安装后启动docker
systemctrl start docker
查看docker版本
doceker version
docker run hello-world
若使用yum安装了docker后,无法使用,报下面的错误,建议升级centos版本到7.5以上
(Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?)
三* 搜索docker镜像
如需要centos环境,则 docker search centos, 若要mysql,则 docker search mysql
四* 根据镜像名称下载docker镜像或者从其他初始镜像中加载
1,直接从搜索的镜像中下载:docker pull centos
2,从其他地方拷贝的镜像压缩包中加载:docker load -i urbrain_init.tar
五* 查看当前有多少镜像
docker images
六* 创建容器
docker create 0743843885d8(镜像id或镜像仓库)
七* 查看当前有多少容器
docker ps -a
八* 启动容器
docker start ba5d05ad0b75(容器Id)
或者六,八可以合并成一步,直接以镜像为基础启动容器,且直接使当前容器处于运行态
docker run -it 0743843885d8(镜像id或镜像仓库名) docker run 相当于docker create + docker start
使用docker run命令时,可以同时指定做本地主机端口向容器内端口的指定,
将主机的10001端口指向容器中的20001端口: docker run -itd -p 10001:20001 urbrain_init
可以同时指定多个端口:docker run -itd -p 10001:8007 -p 10003:8003 -p 10002:8002 urbrain_init
查看容器或镜像详细信息:docker inspect ba5d05ad0b75(容器id或镜像id)
查看容器运行时cpu,内存,网络流量,进程信息: docker stats ba5d05ad0b75
查看容器的端口映射表: docker port ba5d05ad0b75
可以给容器重命名方便识别:docker rename festive_meitner newname
九* 针对处于非运行态的容器(status 为 Exited) 需要先docker start ba5d05ad0b75(容器Id),然后docker attach ba5d05ad0b75(容器Id)进入容器
十* 从容器中退出时,若直接敲入exit则容器由运行态变为非运行态,若要保持后台运行,则应使用ctrl + q + P组合按键退出容器
十一* 停止正在运行的容器,使用docker stop ba5d05ad0b75(容器Id)或 docker kill ba5d05ad0b75(容器Id)
十一* 删除多余的容器,使用docker rm ba5d05ad0b75(容器Id), 删除多余的镜像,使用docker rmi 0743843885d8(镜像id或镜像仓库名)
十二* 本机系统和容器之间传输内容使用docker cp命令
1,从容器中拷贝到本机:docker cp ba5d05ad0b7:/root/aa/bb/cc.txt /root/tmp
2,从本机拷贝内容(不区分文件还是文件夹)到容器中:docker cp /root/tmp/ ba5d05ad0b7:/root/test
十三* 在容器中安装了git或者jdk或者mysql或者ping/ifconfig等等之后,想要保存为新的镜像,则使用docker commit命令
1,保存为本地镜像:docker commit -m "centos with git" -a "zyy" 72f1a8a0e394 centos_with_git
2,保存到远程仓库:docker commit -m "centos with git" -a "zyy" 72f1a8a0e394 zyy/centos:git
3,若保存到远程仓库后,需要push, docker push zyy/centos:git
其中-m后表示提交的描述信息, -a后表示author, 72f1a8a0e394为容器id, zyy/centos:git依次为用户名/仓库名:tag
十四* 将镜像打包成tar包
docker save -o urbrain_init.tar urbrain_init