美文网首页
docker的学习总结

docker的学习总结

作者: 王小胖v9 | 来源:发表于2018-11-30 19:51 被阅读0次

一、docker简介

docker是一个开源的应用容器引擎;是一个轻量级容器技术; docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像; 运行中的这个镜像称为容器,容器启动是非常快速的。

image

二、docker的核心概念

docker主机(Host):安装了Docker程序的机器(docker直接安装在操作系统之上);

docker客户端(Client):连接docker主机进行操作;

docker仓库(Registry):用来保存各种打包好的软件镜像;

docker镜像(Images):软件打包好的镜像;放在docker仓库中;

docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用

image

三、使用docker步骤

1)、安装docker

2)、去docker仓库找到这个软件对应的镜像(docker hub);

3)、使用docker运行这个镜像,这个镜像就会生成一个docker容器;

4)、对容器的启动停止就是对软件的启动停止;

四、docker的安装与卸载

1)、docker的安装命令

1、检查内核版本,必须是3.10及以上

uname -r
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start

# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,你可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
#   将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
#   Loading mirror speeds from cached hostfile
#   Loaded plugins: branch, fastestmirror, langpacks
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
#   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
#   Available Packages
# Step2 : 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]</pre>

安装校验

>root@iZbp12adskpuoxodbkqzjfZ:$ docker version
Client:
 Version:      17.03.0-ce
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   3a232c8
 Built:        Tue Feb 28 07:52:04 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.03.0-ce
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   3a232c8
 Built:        Tue Feb 28 07:52:04 2017
 OS/Arch:      linux/amd64
 Experimental: false

2)、docker的卸载命令

>#1.查询安装过的包
yum list installed | grep docker
#2.删除安装的软件包
yum -y remove containerd.io.x86_64 docker-ce.x86_64 docker-ce-cli.x86_64 
#3.删除镜像/容器等rm -rf /var/lib/docker

五、docker常用命令&操作

  1. docker操作
  • 检索 | docker search 关键字 eg:docker search redis

  • 拉取 | docker pull 镜像名:tag

  • 列表 | docker images

  • 删除 | docker rmi image-id

说明:我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。 :tag是可选的,tag表 示标签,多为软件的版本,默认是latest 查看所有本地镜像 删除指定的本地镜像

2.容器操作

  • 搜索镜像 [root@localhost ~]# docker search tomcat

  • 拉取镜像 [root@localhost ~]# docker pull tomcat

  • 根据镜像启动容器 docker run --name mytomcat【自命名】 -d tomcat:latest【镜像名:标签】

  • docker ps 查看运行中的容器

  • 查看所有的容器 docker ps -a

  • 停止运行中的容器 docker stop 容器的id【下图红色标注即为 docker ps命令查出的容器id】 image
  • 启动容器 docker start 容器id

  • 删除一个容器 docker rm 容器id

  • 启动一个做了端口映射的tomcat [root@localhost ~]# docker run -d -p 8888:8080 tomcat -d:后台运行 -p: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口【下图红色标注即为主机端口与容器内部端口映射说明】 image
  • 查看容器的日志docker logs container-name【容器名】/container-id【容器id】

  • 更多命令可以参考https://docs.docker.com/engine/reference/commandline/docker/ 也可以参考每一个镜像的文档内部有高级命令操作。

六、安装mysql操作实例

  1. 去docker hub 查找所需镜像和tag image
  2. docker pull mysql【拉去镜像】

  3. 参考docker hub 给出的启动命令选择相应的启动方式 image

    比如:

# docker run -p 3306:3306 --name mysql02 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
# docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
    ad10e4bc5c6a        mysql               "docker-entrypoint.sh"   4 seconds ago       Up 2 seconds        0.0.0.0:3306->3306/tcp   mysql02
  1. Navicat连接mysql数据库报错问题【client does not support authentication】

解决办法:

  • docker ps -a 查找到容器id/容器名

  • docker exec -it 容器id/容器名 bash 进入mysql容器

  • mysql -uroot -p登陆mysql

  • use mysql【选择mysql database】; 进入mysql

  • 查询用户表信息:select host,user,authentication_string from user ;

  • 更改host为% user为root的用户的authentication_string

    host为%方便远程连接

    update user set authentication_string = 'root' where user = 'root' and host = '%';

    update user set authentication_string = 'root' where user = 'root' and host = 'localhost';

  • 如果还不行使用下面命令: alter user 'root'@'localhost' identified with mysql_native_password by '123456';

    alter user 'root'@'%' identified with mysql_native_password by '123456';

相关文章

  • docker学习总结

    docker学习总结  最近在学习docker,内容比较多也比较简单,所以做一个简单的总结,做为笔记供自己学习  ...

  • 01 docker学习总结

    01 docker学习总结 toolbox https://hub.docker.com/ https://doc...

  • 2018-01-10日报

    1.学习docker,了解docker常用命令,尝试使用docker构建一个springboot服务总结如:Doc...

  • docker 初体验 之 阶段学习总结

    docker 学习总结 1、什么是docker Docker是一个开源的引擎,可以轻松的为任何应用创建一个...

  • docker常用命令(tomcat为例)

    经过对docker的学习,以下总结了docker常用的一些命令和操作1:docker查找镜像 太多了,选择哪个好呢...

  • docker的学习总结

    一、docker简介 docker是一个开源的应用容器引擎;是一个轻量级容器技术; docker支持将软件编译成一...

  • Docker学习总结

    前言: 最近时不时会用到很多开发工具 无奈陪伴我三年的联想y50 装了太多无用软件,这一年实习也一直用的是自己的电...

  • Docker 学习总结

    前言 Docker火了很长时间了,有幸体验了一段时间,平常主要用于测试环境的项目一键部署,体验不错值得推荐。本来想...

  • Docker学习总结

    最近熟悉了一下docker的基本用法,获益良多。那么在工作中我们为什么要使用Docker 因此为了以后操作使用,特...

  • Docker常用命令总结

    1,目的 总结Docker常用命令,便于梳理和巩固对Docker的学习,也便于能够研究Docker更深层面的技术实...

网友评论

      本文标题:docker的学习总结

      本文链接:https://www.haomeiwen.com/subject/ohkkcqtx.html