【Docker的安装和基础命令】

Docker的安装和基础命令

Docker的安装

Docker联网下的安装

  • 使用 yum 安装(CentOS 7下)

  • Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

  • 通过 uname -r 命令查看你当前的内核版本

[root@master opt]# uname -r

3.10.0-1160.el7.x86_64

  • 安装Docker

  • Docker 软件包和依赖包已经包含在默认的 CentOS-Extras 软件源里,安装命令如下:

[root@master opt]# yum -y install docker
  • 启动Docker

    [root@master opt]# service docker start
    
  • 测试运行 hello-world

    [root@master opt]# docker run helloworld
    
  • 查看Docker版本号

    [root@master opt]# docker -v
    

Docker离线的安装

  • 上传docker安装包,本次上传至”/opt/”文件夹下

    [root@master opt]# cd  /opt
    
  • 安装包百度网盘路径

    链接:https://pan.baidu.com/s/1jiIKufOtoceMeNLdrwTPiw
    提取码:yyuu

  • 解压docker安装包

    [root@master opt]# tar xzvf docker-20.10.16.tgz
    
  • 进入docker目录,将目录下的所有文件拷贝至”/usr/bin/”

    [root@master opt]# cd docker
    [root@master docker]# cp * /usr/bin/
    
  • 配置docker开机自启动

    • 创建docker.service文件
    [root@master docker]# vi /etc/systemd/system/docker.service
    

    #粘贴以下内容:

    [Unit]

    Description=Docker Application Container Engine

    Documentation=https://docs.docker.com

    After=network-online.target firewalld.service

    Wants=network-online.target

    [Service]

    Type=notify

    ExecStart=/usr/bin/dockerd

    ExecReload=/bin/kill -s HUP $MAINPID

    LimitNOFILE=infinity

    LimitNPROC=infinity

    TimeoutStartSec=0

    Delegate=yes

    KillMode=process

    Restart=on-failure

    StartLimitBurst=3

    StartLimitInterval=60s

    [Install]
    WantedBy=multi-user.target

    • 给文件增加权限
    [root@master docker]# chmod +x /etc/systemd/system/docker.service
    [root@master docker]# systemctl daemon-reload
    
    • 开机启动
    [root@master docker]# systemctl enable docker.service
    
  • 启动docker

    [root@master docker]# systemctl start docker
    
  • 测试docker是否安装完成

    [root@master docker]# docker -v
    

Docker的基础命令

  • 查看docker中的镜像

    [root@master docker]# docker images
    
  • 联网情况下搜索mysql镜像

    [root@master docker]# docker search mysql
    
  • 离线的情况下加载mysql镜像

    • mysql的镜像包

      链接:https://pan.baidu.com/s/1GHhsDeSq-PPCunK0lK1tIQ 
      提取码:1234
      
    [root@master docker]# docker load</opt/service/mysql_image.tar
    
    • /opt/service/mysql_image.tar 为mysql镜像的位置
  • 使用docker运行mysql

    • [root@master docker]#  docker run -itd --name mysqlname -d --restart=always -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
      
      • -p 3307:3306 :前面的3307是linux映射出去的端口,后面的3306是mysql在docker镜像中的固定端口
      • -d --restart=always :开机自启动
      • -e MYSQL_ROOT_PASSWORD=123456 :mysql的root密码
      • –name mysqlname: 运行的镜像名
  • 查看所有docker运行的进程

    [root@master docker]# docker ps -a
    

    CONTAINER ID IMAGE COMMAND … PORTS NAMES
    1ef22aeaff4c mysql:5.7 “docker-entrypoint.s…” … 33060/tcp, 0.0.0.0:3307->3306/tcp, :::3307->3306/tcp mysqlname

  • 先关闭mysql进程,找到mysql对应的CONTAINER ID

    [root@master docker]# docker stop 1ef22aeaff4c  
    
  • 再移除mysql进程

    [root@master docker]# docker rm 1ef22aeaff4c  
    
  • 如果想删除镜像

    [root@master docker]# docker images
    

    REPOSITORY TAG IMAGE ID CREATED SIZE
    mysql 5.7 14905234a4ed 13 days ago 495MB

  • 找到mysql对应的IMAGE ID,使用docker rei 进行删除

    [root@master docker]# docker rmi 14905234a4ed   
    

Docker构建mysql镜像

  • 创建mysql文件夹并打开文件夹

    [root@master docker]# mkdir -p /opt/test/mysql
    [root@master docker]# cd /opt/test/mysql/
    [root@master mysql]# 
    
  • 上传初始化mysql文件:test.sql到/opt/test/mysql下

    [root@master mysql]# vi Dockerfile
    # 粘贴以下内容到Dockerfile文件中去
    FROM mysql:5.7
    MAINTAINER dong
    ADD ./test.sql /docker-entrypoint-initdb.d/
    EXPOSE 3306
    
    • FROM mysql:5.7 :在mysql5.7的基础上构造镜像
    • ADD ./test.sql /docker-entrypoint-initdb.d/ :将 本目录下的test.sql 加入到docker初始化数据库的文件中去
    • EXPOSE 3306 :docker对外暴露出去的端口号
  • 构建mysql对象

    [root@master mysql]# docker build -t mysql:5.7c .
    
  • 运行mysql镜像

    [root@master mysql]# docker run -d --name myMysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=test -p 3307:3306 mysql:5.7c --lower_case_table_names=1
    
    • -e MYSQL_DATABASE=test:指定在yanhua数据库运行上面文件的test.sql
    • –lower_case_table_names=1 :mysql中不区分大小写
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值