首页 > 其他分享 >Docker入门介绍

Docker入门介绍

时间:2022-12-19 21:35:44浏览次数:36  
标签:容器 入门 centos 介绍 id 镜像 docker Docker

1 docker 组件介绍

# Docker:容器技术 ,资源隔离
    dotCloud  go写的软件
    Docker的基础是 Linux 容器(LXC)等技术
    LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单
    
# 优势:
	举例说明:
    	开发阶段:win上开发的 python3.8   第三方模块
        上线阶段:linux      python3.8   第三方模块 不同平台有差异
        使用docker统一开发和部署环境
            只要部署项目运行器一个容器即可(python+django+drf+uwsgi+代码)
            java容器:(jdk+tomcat+java代码)
            
# docker  cs架构软件
    服务器端,客户端
    客户端cli
    客户端和服务端交互使用resfulapi
    	客户端:docker ps----》http请求,符合resful规范----》服务端执行
        
        
 # 架构
     客户端cli
     服务端 server
    	 Images:镜像
         containers:容器 (想象成一个操作系统运行了一个软件)
         networks:网络
         Volumes:数据卷,文件
         Registry:远程仓库

        
        
# 镜像和容器
    镜像是从远程拉去下来的文件
    容器是镜像运行后得到的,一个镜像可以运行多个容器
    面向对象中得  类:镜像     对象:容器
    容器:把容器当做一个操作系统上运行了软件
    运行了redis容器:一个操作系统运行了redis
        
       

image-20200328161437278

2 docker安装启动

# docker 可以安装在各个操作系统之上
     centos 7.5
     win10 以上可以
     mac
     最好,在虚拟机的centos上安装
    
# 版本介绍
	Docker-CE指Docker社区版,由社区维护和提供技术支持,为免费版本,适合个人开发人员和小团队使用。
	Docker-EE指Docker企业版,为收费版本,由售后团队和技术团队提供技术支持,专为企业开发和IT团队而设计
    
    
# 卸载:
    停止服务: systemctl stop docker
    yum list installed | grep docker
    yum remove docker-ce.x86_64 docker-ce-cli.x86_64 docker-ce.x86_64 docker-ce-cli.x86_64
    rm -rf /var/lib/docker
    
    
# 安装
	安装依赖
    	sudo yum install -y yum-utils device-mapper-persistent-data lvm2
	把yum源设置为阿里云
    	sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
        
        安装docker
    	sudo yum install docker-ce

	查看docker版本
    	docker -v  # Docker version 20.10.22, build 3a2c30b

        
        
# windows和mac :https://get.daocloud.io/#install-docker-for-mac-windows


# 配置国内镜像站:仓库在国外,下载镜像很慢,配置国内镜像站
    阿里云:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
    mkdir /etc/docker
    vim /etc/docker/daemon.json
    写入
       {
      "registry-mirrors": ["https://x1566319.mirror.aliyuncs.com"]
    	}
    重启
    sudo systemctl daemon-reload
    sudo systemctl restart docker

    
# docker 命令
    # 启动docker:
    systemctl start docker
    #停止docker:
    systemctl stop docker
    #重启docker:
    systemctl restart docker
    #查看docker状态:
    systemctl status docker
    #开机启动:
    systemctl enable docker
    #查看docker概要信息
    docker info  # docker客户端,服务端的概要信息

3 docker镜像操作

# 搜索镜像
    docker search 镜像名字 

# 从远程仓库拉去的文件
    docker pull centos:centos7.9.2009
    docker pull python:3.8-slim
    docke pull redis  # 最新版
    docker pull mysql:5.7
# 查看本地镜像
	docker images
    
# 删除镜像
	docker rmi 镜像id
    
# 一次性删除所有镜像
	docker rmi `docker images -q`
# 一次性删除所有容器
	docker rm `docker ps -aq`

# 了解
    自己制作了一个镜像,想传到自己的dockerhub仓库里
    把本地的镜像打个标签
    docker tag 镜像id 你的dockerhub用户名/xxxx
    docker login  # 输入用户名密码
    docker push 你的dockerhub用户名/xxxx
    在你的仓库你就能看到了

# 镜像分层:
    https://blog.csdn.net/qq_40124555/article/details/125137800
    

# 如何获取镜像:
     docker pull 拉取
     压缩包还原
     容器反打包成镜像
     dockerfile构建

4 docker容器操作

# 1 基于镜像运行成容器
    # 创建容器,运行容器
    # -it和-id区别 :it进入到容器内部 ,id以守护进程运行容器,不进入
    # --name=名字   不写会随机
    # centos:7   镜像的名字和tag
    # -p 3307:3306   把宿主机的3307端口映射到容器的3306端口,以后访问宿主机的3307,就等于访问容器的3306
    # -v /root/lqz:/home  把宿主机的/root/lqz映射到容器的 /home ,以后再宿主机或容器内修改这个文件夹,都会相互影响
    # 在容器内部,退出来:exit ---》只要退出,容器也退出了
	-docker run -it  --name=centos centos:7 # 基于centos:7镜像 创建并运行容器,进入到容器中,名字为centos
    
    
# 2 查看正在运行的容器
	docker ps
# 3 查看所有容器
	docker ps -a
    
    
# 4 在容器上执行命令
    docker exec 容器id ls

    docker exec 12a6a0281168 ls
    
    docker exec -it 12a6a0281168 /bin/bash
    
    
 # 5 停止容器
	docker stop 容器id
    
 # 6 运行容器
	docker start 容器id
    
 # 7 删除
 	docker rm 容器id  # 正在运行的容器不能删
    
# 8  文件拷贝
      把宿主机文件cp到容器内部
    	docker cp 宿主机文件  容器id:容器路径
      把容器内部文件cp到宿主机
    	docker cp 容器id:路径/文件  /root/ss.py
# 9 查看容器信息
	docker inspect 容器id
      docker inspect --format='{{.NetworkSettings.IPAddress}} 容器id  # 查看ip地址
    

标签:容器,入门,centos,介绍,id,镜像,docker,Docker
From: https://www.cnblogs.com/dy12138/p/16993100.html

相关文章

  • 入门练习4-17
    太简单,不知道出题者的目的是什么#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>intmain(){inta,i;printf("n的值:");scanf("%d",&a);for(i=1;i<=a;......
  • Docker推送镜像到Dockerhub
    登录dockerhub官网注册账号https://hub.docker.com/signup登录账户,创建一个仓库“CreateRepository”——>输入命名空间和仓库名——>“Description”填写描述信息......
  • Hessian探究(一)Hessian入门示例
    一、hessian的maven信息:[html] ​​viewplain​​ ​​copy​​ ​​print​​​?​<dependency>  <groupId>com.caucho</groupId>  <artifac......
  • Ubuntu18.04上手配置入门指南
    ​​写在前面​​​​Linux系统基本介绍​​​​键盘差异&常用快捷键​​​​常用终端命令​​​​系统配置篇​​​​软件安装篇​​​​IDE&Editors​​​​Browser​​​......
  • docker 入门
    为什么需要Docker容器在软件开发中,最麻烦的事情之一就是环境配置。在正常情况下,如果要保证程序能运行,我们需要设置好操作系统,以及各种库和组件的安装。举例来说,要运......
  • Spring Boot 入门
    ​​spring​​ Boot是Spring社区较新的一个项目。该项目的目的是帮助开发者更容易的创建基于Spring的应用程序和服务,让更多人的人更快的对Spring进行入门体验,让​​Java​......
  • 入门练习4-16
    这题很简单,也是余数,余数0就是偶,非0是奇数,需要注意是小于等于输入,因为题目输入15显示了15,#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>intmain(){inta,i;print......
  • [深度学习] CCPD车牌数据集介绍
    date:2021-06-0919:03:20+0800tag:-深度学习-图像处理-机器学习CCPD是一个大型的、多样化的、经过仔细标注的中国城市车牌开源数据集。CCPD数据......
  • 第四章 docker 命令部署lnmp(link方式)
    docker-cli部署DNMP(docker+nginx+mysql(MariaDB)+PHP-FPM复查完成环境部署root@docker-debian:~#mkdir-p/opt/cli-lnmp/mysqlroot@docker-debian:~#mk......
  • 应用笔记 | TSMaster快速入门篇(3)-Trace窗口功能分析图解
    概述Trace窗口是做总线分析时最常用的窗口,主要用于记录总线测量时的各种活动。一、设置显示刷新率为了降低软件CPU占用率,Trace窗口提供了几种显示刷新率让用户选择。如下......