ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Docker ->(个人学习记录笔记)

2021-10-29 19:35:31  阅读:107  来源: 互联网

标签:容器 tomcat 记录 笔记 mysql 镜像 Docker docker


@

目录

Docker基本使用

Docker是一个开源的应用容器引擎;是一个轻量级容器技术;

Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;

运行中的这个镜像称为容器,容器启动是非常快速的。
在这里插入图片描述

核心概念

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

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

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

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

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

在这里插入图片描述

使用Docker的步骤:

  1. 确认要安装docker的系统的linux内核高于3.10,低于3.10使用yum update更新
    uname -r
    
  2. 安装docker
    yum install docker
    
  3. 查看docker版本
    docker -v
    
  4. 查看docker状态
    service docker status
    
  5. 启动docker
    service docker start
    
  6. 停止docker
    service docker stop
    
  7. 设置docker开机自启
    systemctl enable docker
    

在这里插入图片描述

docker常用命令

镜像操作

操作 命令 说明
检索 docker search 关键字 eg:docker search redis 我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。
拉取 docker pull 镜像名:tag :tag是可选的,tag表示标签,多为软件的版本,默认是latest
列表 docker images 查看所有本地镜像
删除 docker rmi image-id 删除指定的本地镜像

在这里插入图片描述

修改镜像源

修改 /etc/docker/daemon.json ,写入如下内容(如果文件不存在请新建该文件)

vim /etc/docker/daemon.json

# 内容:

{
"registry-mirrors":["http://hub-mirror.c.163.com"]
}

国内镜像源 地址
Docker 官方中国区 https://registry.docker-cn.com
网易 http://hub-mirror.c.163.com
中国科技大学 https://docker.mirrors.ustc.edu.cn
阿里云 https://pee6w651.mirror.aliyuncs.com

在这里插入图片描述

容器操作

以tomcat为例:

  1. 下载tomcat镜像

    docker pull tomcat
    
  2. 根据镜像启动容器,不加TAG默认latest,如果没有下载latest会先去下载再启动

    docker run --name mytomcat -d tomcat:latest
    

    --name:给容器起个名字

    -d:后台启动,不加就是前端启动,然后你就只能开一个新的窗口连接,不然就望着黑乎乎的窗口,啥也干不了,Ctrl+C即可退出,当然,容器也会关闭

  3. 查看运行中的容器

    docker ps
    
  4. 停止运行中的容器

    docker stop  容器的id
    
    # 或者
    
    docker stop  容器的名称,就是--name给起的哪个名字
    
  5. 查看所有的容器

    docker ps -a
    
  6. 启动容器

    docker start 容器id/名字
    
  7. 删除一个容器

    docker rm 容器id/名字
    
  8. 启动一个做了端口映射的tomcat

    docker run -d -p 8888:8080 tomcat
    

    -d:后台运行

    -p: 将主机的端口映射到容器的一个端口 主机端口(8888):容器内部的端口(8080)

    外界通过主机的8888端口就可以访问到tomcat,前提是8888端口开放

  9. 关闭防火墙

    # 查看防火墙状态
    service firewalld status
    
    # 关闭防火墙
    service firewalld stop
    
  10. 查看容器的日志

    docker logs 容器id/名字
    

在这里插入图片描述

以mysql为例:

# 拉取镜像
docker pull mysql:5.7.28

# 运行mysql容器
 docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.28

--name mysql:容器的名字是mysql;

MYSQL_ROOT_PASSWORD=root:root用户的密码是root (必须指定)

连接容器内mysql

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

  • docker attach

  • docker exec:推荐使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。

    docker exec -it mysql bash
    

    -i: 交互式操作。

    -t: 终端。

    mysql: 名为mysql的镜像。

    bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是bash,也可以用/bin/bash

    连接上以后就可以正常使用mysql命令操作了

    mysql -uroot -proot
    

    直接使用端口映射更加方便

    docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.28
    

在这里插入图片描述

普通用户运行docker

docker 命令只能由root用户运行,普通用户还需要加上sudo命令。在第三方开发工具中无法使用docker插件

docker守护进程启动的时候,会默认赋予名为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令

安装docker已经创建了docker用户组,只需要将用户加入到docker组即可

sudo gpasswd -a 用户名 docker

标签:容器,tomcat,记录,笔记,mysql,镜像,Docker,docker
来源: https://www.cnblogs.com/Slience-me/p/15481951.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有