首页 > 其他分享 >docter篇:docter相关操作

docter篇:docter相关操作

时间:2022-08-15 15:44:15浏览次数:35  
标签:容器 镜像 docter -- 相关 mysql home 操作 docker

目录

一、Docker安装与启动

# 1.yum 包更新到最新
    # yum remove docker docker-common  docker-selinux docker-engine
    # rm -rf /var/lib/docker
    yum update

# 2.安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
    yum install -y yum-utils device-mapper-persistent-data lvm2

# 3.设置yum源为阿里云
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 4.安装dovter并自动确认
    yum install docker-ce -y

# 5. 查看版本,docker发布的年月日命名
    docker -v   

# 6. 启动docker
    systemctl start docker  

# 7.关闭docker
    systemctl stop docker 
   
# 8. 开机自启动
    systemctl enable docker  

# 9.查看docter信息 
    docker info

# 10.重启docker
    systemctl restart docker

# 11.查看docter状态
    systemctl status docker

# 12.查看docter帮助
    docker --help

二、docter镜像加速

2.1 编辑该文件

vi /etc/docker/daemon.json 

2.2 文件内容插入如下

{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

三、镜像相关命令

3.1 常用命令

# 远程仓库下载的,官方的https://hub.docker.com/
# 镜像:images

#1  下载镜像  
# docker pull下载
# centos:centos7  镜像名字:版本/tag
    docker pull centos:centos7
    docker pull  redis  # 不写冒号,默认下最新的latest

# 2 查找镜像---》是否是官方,点赞数大小
    -方式一网址搜:https://hub.docker.com/
    -方式二: docker search centos(镜像名)

# 3 查看本地镜像
    docker images

# 4 镜像删除
    docker rmi 镜像名字:tag/镜像id

# 5 一次性删除所有镜像
    docker rmi `docker images -q`

3.2 官网查看镜像信息

NAME:仓库名称
DESCRIPTION:镜像描述
STARS:用户评价,反应一个镜像的受欢迎程度
OFFICIAL:是否官方
AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的

四、容器相关命令

# 1 查看正在运行的容器
    docker ps
# 2 查看所有容器,无论停止还是运行
    docker ps -a

# 3 创建容器并启动(创建容器,运行容器)
    docker run -id --name=mycentos -v 宿主机路径:容器路径 -p 宿主机端口:容器端口
    -i:表示运行容器 镜像名字:tag
    -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
    -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。

    --name :为创建的容器命名。
    -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
    -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

    (1)交互式方式创建容器
        docker run -it --name=容器名称 镜像名称:标签 /bin/bash
    (2)守护式方式创建容器:
        docker run -di --name=容器名称 镜像名称:标签
        守护式方式登录容器
        docker exec -it 容器名称 (或者容器ID)  /bin/bash



### docker run -it centos:centos7
    -启动容器,自动命名,进入到容器内部,如果exit退出,容器也就结束了,不运行了
    -因为容器运行必须有一个前台进程夯住阻塞,前台进程结束,容器也就结束了

### docker run -id --name=mycentos7 centos:centos7
    -进入到容器内部操作
    -ssh连过去(需要容器支持,安装ssh,启动,监听22端口),一般不用
    -docker exec -it 96a5 /bin/bash # 本质是在96a5容器上执行一下 bash命令

### docker run -id --name=mycentos2 -v /root/lqz:/home/lqz centos:centos7
    -以后再容器内部操作lqz文件夹和在宿主机操作是一样的
    
### docker run -id --name=myredis -p 6380:6379 redis
    -以后直接链接宿主机的6380就相当于链接容器的6379端口
    
    
#### mysql做目录映射,创建数据库,删除容器操作,再用别的容器运行,数据库还在
    mkdir /home/mysql
    mkdir /home/mysql/conf.d
    mkdir /home/mysql/data/
     
    # 创建my.cnf配置文件
    touch /home/mysql/my.cnf
    [mysqld]
    user=mysql
    character-set-server=utf8
    default_authentication_plugin=mysql_native_password
    secure_file_priv=/var/lib/mysql
    expire_logs_days=7
    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
    max_connections=1000


    docker run  -di -v /home/mysql/data/:/var/lib/mysql -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/my.cnf:/etc/mysql/my.cnf -p 3306:3306 --name mysqlmy -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

#3 停止容器
    docker stop 容器id

# 启动容器
    docker start 容器id

#4 删除容器:必须先停止再删
    docker rm 容器id 容器id 容器id

#5 文件拷贝
    # 从宿主机copy文件到容器
    docker cp 需要拷贝的文件或目录 容器名称:容器目录
    docker cp lqz.txt ff78cece7d61:/home

    #从容器copy文件到宿主机
    docker cp 容器名称:容器目录 需要拷贝的文件或目录
    docker cp ff78cece7d61:/home/lqz.txt /root/lqz.txt

#6 查看容器详情,ip地址
    docker inspect ff78cece7d61(容器名/容器id)
    docker inspect --format='{{.NetworkSettings.IPAddress}}' ff78cece7d61

#7 退出当前容器
    exit
# netstat 命令没有
    yum install net-tools 安装

五、应用部署

# 运行mysql
    docker run  -di -v /home/mysql/data/:/var/lib/mysql -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/my.cnf:/etc/mysql/my.cnf -p 3306:3306 --name mysqlmy -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7


# 运行redis
    docker run -di --name=myredis5 -v /root/lqz/redis.conf:/data/redis.conf   -p 6379:6379 redis redis-server /data/redis.conf

    vim redis.conf  # 配置如下
    --------------------------------------
    bind 0.0.0.0
    daemonize no
    protected-mode no
    requirepass 123456
    --------------------------------------


# 运行nginx
    docker run -di --name=mynginx -p 80:80 nginx

标签:容器,镜像,docter,--,相关,mysql,home,操作,docker
From: https://www.cnblogs.com/williama/p/16588520.html

相关文章

  • MySQL连接相关
    官网:https://dev.mysql.com/doc/refman/8.0/en/performance-schema-processlist-table.html   interactive_timeout:交互式连接超时时间(mysql工具、mysqldump等)wai......
  • CSP202112-4 磁盘文件操作
        第一眼,嗯,线段树裸题。开写,交,发现空间炸了,遂离散化。再交,发现在操作0的时候有可能遇到离散化中没出现过的点(即给定数据外的点),因为要二分右端点。怎么办呢?大胆观......
  • Pandas基本操作
    Pandas介绍2008年WesMcKinney开发出的库专门用于数据挖掘的开源python库以Numpy为基础,借力Numpy模块在计算方面性能高的优势基于matplotlib,能够简便的画图独特的数据......
  • Numpy基本操作
     Numpy介绍Numpy(NumericalPython)是一个开源的Python科学计算库,用于快速处理任意维度的数组。Numpy支持常见的数组和矩阵操作。对于同样的数值计算任务,使用Nump......
  • Oracle中DBLink的相关操作
    Oracle中的DBLink的相关操作摘要:​ DBLink,全称databasselink(数据库连接),就是在一个数据库中创建另一个数据库的连接或着说映射,然后就可以在数据库中通过tableName@DBLi......
  • git学习(01) git的概念及相关介绍
    git的定义Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本......
  • C# 文件操作
    最近遇到一个需求,需要将超大文件中的帧头解析出来,并将帧头和数据部分分别存在文件中整体思路如下:1、读取待处理路径,根据命名规则筛选出需要处理的文件2、判断输出路径是......
  • str常用操作方法
    s='taiBai's1=s.upper()print(s1)全部转化为大写  username=input('用户名')password=input('密码')code='QweA'print(code)your_code=input('请输入验......
  • Arthas的class和classloader相关命令-sc/sm/jad/mc/redefine/dump/classloader
    1.sc:查看JVM已加载的类信息sccom.lyb.web.mySpringBoot.demo.RedefineTestSimplesccom.lyb.web.mySpringBoot.demo.RedefineTestSimple-d   2.sm:查看已......
  • 计算机操作系统秋招学习第一轮(二)
    主要参考书籍:《CSAPP》、《图解操作系统》上回学到了写传播在解决这个缓存一致性的问题,其实我们只需要做到写传播和事务串行化写传播就是指一个核心的cache发生了数据变......