后端技术——Docker详解

环境:

      操作系统:CentOS7

安装:

  1. 安装gcc

    yum -y install gcc
    
  2. 安装yum-utils包,设置稳定存储库。

    # 安装yum-utils包
    yum install -y yum-utils
    
    # 设置稳定存储库
    yum-config-manager --add-repo https://mirror.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  3. 更新yum配置

    yum makecache fast
    
  4. 安装docker-ce

    yum  -y install docker-ce
    
  5. 启动docker

    systemctl start docker
    
  6. 配置加速镜像

    # 创建配置文件
    mkdir -p /etc/docker
    vi /etc/docker/daemon.json
    {"registry-mirror": ["http://hub-morro.c.163.com"]}
    ~
    ~
    
    # 重新加载配置文件
    systemctl daemon-reload
    
    # 重启docker
    systemctl restart docker
    
  7. 卸载docker

    # 卸载docker
    yum remove docker-ce
    
    # 删除文件
    rm -rf /var/lib/docker
    

Helloword程序

  1. 拉取并运行helloword

    docker run hellow-word
    

命令

  1. 镜像相关命令

    # 列出本机上的docker镜像
    docker images [参数]
    -a:   		列出所有
    -q:   		只显示id
    -digests:  	显示摘要信息
    -no-tronc:  显示完整信息
    
    
    # 搜索远程仓库中的docker镜像
    docker search [镜像名]
    
    
    # 拉取docker镜像
    docker pull [镜像名]
    
    
    # 推送docker镜像
    # 1 登录
    docker login --username=[用户名]
    # 2 tag标签对应
    docker tag [镜像ID] [远程仓库路径]:[远程版本]
    # 3 执行推送
    docker push [远程仓库路径]:[远程版本]
    
    
    # 删除本地docker镜像
    docker rmi [参数] [镜像ID]
    -f:   		强制删除
    
    
    # 提交到本地docker镜像仓库
    docker commit [参数] [容器ID]  [新镜像名]:[新版本]
    -m:   		提交说明
    -a:   		作者信息
    
    
  2. 容器相关命令

    # 创建并运行docker容器
    docker run [参数] [镜像名] [容器启动后执行的命令]
    -V:   		数据卷
    -d:   		后台运行
    -p:   		指定端口
    -P:   		随机端口
    -it:  		以交互方式打开终端
    --name:  	指定容器名字
    
    
    # 查看正在运行的docker容器
    docker ps [参数]
    -a:   		列出所有
    -l:   		显示最近创建的容器
    -n:   		显示最近创建的容器 (可以指定多少个)
    -q:  		只显示容器ID
    -no-tronc:  显示完整信息
    
    
    # 启动容器
    docker start [容器ID]
    
    
    # 重启容器
    docker restart[容器ID名]
    
    
    # 停止容器(正常停止)
    docker stop [容器ID]
    # 停止容器(直接停止)
    docker kill [容器ID]
    # 退出(在容器中执行)
    exit
    
    
    # 进入容器
    docker attach [容器ID]
    # 在容器执行命令并将结果返回给宿主机
    docker exec [容器ID] [命令]
    
    
    # 拷贝容器中的文件到宿主机
    docker cp [容器ID]:[路径]  [宿主机路径]
    
    
    # 删除容器
    docker rm [参数] [容器ID名]
    -f:   		强制删除
    
    

数据卷

  1. 主要作用:容器与宿主机之间的数据共享
    # 创建并运行docker容器并指定数据卷
    docker run 
    	-V [宿主机路径]:[容器内路径]
    	-V [宿主机路径]:[容器内路径]
     	helloword
    

Dockerfile

  1. 命令:
    # 由dockerfile构建docker镜像
    docker build -f dockerfile -t mydokerimage:1.0 .
    -f: 指定dockerfile文件路径
    -t: 镜像名与版本
    .:  最后以点结尾
    
  2. 关键字:
关键字说明
FROM基于哪个镜像进行构建
MAINTAINER镜像的作者
RUN容器构建时需要运行的命令
EXPOSE容器对外暴露的端口
WORKDIR默认进入的目录
ENV设置环境变量
ADD拷贝并解压文件到容器
COPY拷贝文件到容器
VOLUME设置数据卷
CMD指定容器启动时要运行的命令 只要最后一个会生效
ENTRYPOINT指定容器启动时要运行的命令 多个同时会生效
ONBUILD到构建一个基于本镜像的新镜像时会被调用

安装Tomcat

  1. 搜索tomcat镜像
    docker search tomcat
    
  2. 拉取tomcat镜像
    docker pull tomcat
    
  3. 运行tomcat
    docker run -p 8080:8080 tomcat
    

安装Mysql

  1. 搜索mysql镜像
    docker search mysql
    
  2. 拉取mysql镜像
    docker pull mysql:5.6
    
  3. 运行mysql
    docker run -p 3306:3306 --name mysql56
    	-V /mydir/mysql/conf:/etc/mysql/conf.d
    	-V /mydir/mysql/logs:/logs
    	-V /mydir/mysql/data:/var/lib/mysql
    	-e MYSQL_ROOT_PASSWARD=123456
    	-d 
    	mysql:5.6
    

安装Redis

  1. 搜索redis镜像
    docker search redis
    
  2. 拉取redis镜像
    docker pull redis:3.2
    
  3. 运行redis
    docker run -p 6379:6379--name redis32
    	-V /mydir/redis/data:/data
    	-V /mydir/redis/conf:/usr/local/etc/redis/redis.conf
    	-d 
    	redis:3.2 
    	redis-server /usr/local/etc/redis/redis.conf --appendonly=yes
    
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值