【docker的安装与使用】

docker的安装与使用

  1. 安装步骤
    1.1 在centos8上面安装docker需要安装containerd.io
    安装命令如下:

    yum install https://download.docker.com/linux/centos/8/x86_64/stable/Packages/containerd.io-1.4.13-3.1.el8.x86_64.rpm
    

    1.2 docker的安装命令:

    curl -sSL https://get.daocloud.io/docker | sh
    

    参数说明:
    curl: 在Linux访问网站的命令
    -s: 表示静默模式,不打印常规日志
    -S:在控制台显示错误日志
    -L:跟随重定向
    |:Linux中的管道符
    sh:是shell的缩写,是Linux的一种脚本

    1.3 检查是否安装好

    docker version
    

    1.4 配置阿里云镜像
    打开网站:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
    获取镜像地址:在这里插入图片描述

    sudo mkdir -p /etc/docker
    
    sudo vim /etc/docker/daemon.json
    {
      "registry-mirrors": ["https://xxx.mirror.aliyuncs.com", "https://hub.daocloud.io"]
      					 # 这里的xxx是从阿里云镜像获取的		   这里是daocloud的镜像地址,可配置多个
      "insecure-registries":["私服的IP地址和端口号"]  # 如果有私服可以在这里配置
    }
    
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
  2. docker常用操作
    2.1 查看docker版本 :docker version
    2.2 查看下载的所有镜像:docker images
    2.3 启动docker服务:systemctl start docker systemctl enable docker
    2.4 运行一个容器:docker run 镜像的名字
    run:执行镜像并生成容器
    run首先会从服务器本地查找是否存在这个镜像,如果不存在那么就去中央仓库去下载,如果没找到就报错

  3. 镜像操作
    3.1 拉取镜像到本地:docker pull 镜像的名字 (默认下载最新的镜像) 可以加具体的镜像版本号
    可以从这个网址查找详细的版本号:https://hub.daocloud.io/
    3.2 删除镜像:docker rmi 镜像标识的前n位(一般写4位就可以了,只要能和其他的镜像id区分开即可)
    注意: 如果该镜像启动过容器,那么不能删除,停止了容器以后才可以删除
    3.3 镜像的导入导出
    导出:docker save -o 导出的路径及导出后的名字 镜像id
    导入:docker load -i 镜像名
    3.4 修改镜像的名称:docker tag 镜像的标识 新的名字:版本号

  4. 容器的操作
    4.1 启动容器:docker run 镜像的名称[:tag] | 镜像的标识
    常用参数:

    -d:daemon的首字母,守护进程,后台程序,非交互式的,没有界面的,后台运行的
    		-i : input的首字母,输入			
    -it:
    		-t:terminal的首字母,终端
    --name:为容器指定名称
    -p:用于映射linux的端口号和容器的端口号
    -e MYSQL_ROOT_PASSWORD=123456  这是说mysql启动需要的开机密码,默认的账号是root ,密码就是上面设置的:123456
    -v  /root/data:/var/lib/mysql  /root/data/:这是宿主机的数据存放路径(你也可以自定义),   /var/lib/mysql:这是mysql容器存放数据的地方。也是为了同步数据,防止,容器被删除以后,数据就不存在了。
    例如:
    启动tomcat服务,并指定端口号:docker run -d -p 8011:8080 --name first_tomcat tomcat:9.0
    启动数据库并设置默认root账户的密码,同时指定数据存放的目录:
    docker run --name mysql5.5 -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /root/data:/var/lib/mysql mysql:5.6
    

    4.2 查看容器:docker ps [-qa]

    ps是进程状态的意思,docker ps 是指容器的进程状态查询
    -a all 查看全部容器的意思,包括没有运行的容器
    -q 只查看容器的标识
    

    4.3 查看容器的日志:docker logs -f 容器的标识
    -f是以滚动的方式查看最后几行
    4.4 进入容器内部:docker exec -it db bash

    exec 是执行的意思 
    -it 交互式运行容器
    db 容器标识
    bash Linux操作系统的默认操作界面shell
    

    4.5启动停止删除容器相关命令:

    停止容器 :docker stop 容器标识
    启动容器:docker start 容器标识
    重启容器:docker restart 容器标识
    删除容器:docker rm 容器id (注意:删除容器时必须先停止容器)
    停止所有容器:docker stop ${docker ps -qa}
    删除所有容器:docker rm ${docker ps -qa}
    
  5. docker数据卷的操作

    创建数据卷:docker volume create 数据卷名称(创建的文件夹默认位置: /var/lib/docker/volumes/)
    查看数据卷的详细信息:docker volume inspect 数据卷名称
    查看全部数据卷:docker volume ls
    删除数据卷:docker volume rm 数据卷名称
    

    5.1 数据卷的使用

    使用方法一:先创建一个数据卷,然后用数据卷的名称映射容器内部的路径,当映射数据卷时,如果数据卷不存在,那么docker会自动创建
    例:docker run -d -p 8081:8080 --name xs-tomcat-01 -v v-tomcat-01:/user/local/tomcat/webapps 34(镜像id)
    使用方法二:直接指定路径,也会自动创建数据卷
    例子:docker run -d -p 8082:8080 --name xs-tomcat-02 -v /opt/volumes/v-tomcat-02:/usr/local/tomcat/webapps 34
    
  6. 自定义镜像:
    6.1 创建一个dockerfile,并自定义镜像信息

    from daocloud.io/library/tomcat:8.5.57-jdk8-openjdk
    copy 打包好的war文件 /usr/local/tomcat/webapps
    备注:dockerfile文件中只写上面2句话即可
    from 指定当前自定义镜像以来的环境
    copy 把指定的文件复制到镜像中
    workdir 镜像的工作目录
    cmd 在workdir下要执行的命令
    

    6.2 通过docker命令制作镜像:docker build -t 没有Tomcat:1.0
    6.3 查看镜像是否创建成功:docker images
    6.4 导出镜像:docker save -o 导出的路径和命名 镜像id
    6.5镜像导入:docker load -i 文件名称

  7. docker compose的使用
    7.1 简介
    docker-compose主要是用来管理docker容器集群的快速编排,要想使用docker-compose必须先下载docker-compose,下载地址:https://github.com/
    如果打不开就去ping www.github.com然后在浏览器输入得到的IP就可以访问了
    或者直接用这个链接下载:https://github.com/docker/compose/releases/download/v2.6.1/docker-compose-linux-x86_64
    使用docker-compose需要编写ymal文件,例如:用docker-compose管理MySQL容器与tomcat容器

    service:
    	mysql:
    		restart: always
    		image: daocloud.io/library/mysql:8.0.1
    		container_name: mysql-compose
    		ports:
    			- 3306:3306
    		enviroment:
    			MYSQL_ROOT-PASSWORD: 123456
    			TZ: Asia/Shanghai
    		volumes:
    			/opt/library/myslq:/var/lib/mysql
    	tomcat:
    		restart: always
    		image: daocloud.io/library/tomcat:8.5.57-jdk8-openjdk
    		container_name: tomcat_compose
    		port:
    			- 8080:8080
    		enviroment:
    			TZ: Asia/Shanghai
    		volumes:
    			- /opt/volumes/tomcat/webapps:/usr/local/tomcat/webapps
    			- /opt/volumes/tomcat/logs:/usr/local/tomcat/logs
    

    7.2关于docker-compose的常用命令

     执行ymal文件启动容器:docker-compose up -d
     关闭并删除容器:docker-compose down
     关闭容器:docker-compose stop
     重启容器:docker-compose restart
     启动容器:docker-compose start
     查看日志:docker-compose logs -f
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值