docker--------介绍、常用命令,国内源配置

1 docker 国内源配置

# 镜像:一堆文件
    -目前从远程仓库下载的:https://hub.docker.com/
    -镜像有很多人提供:官方提供,第三方提供
    -镜像--》更新--》Tag不同版本
        -centos:latest 最新
    -docker pull 能找到,仓库中有才行
    -忘掉:docker search 名字

# 容器:镜像运行后的---》当成一个简洁的操作系统即可

 docker操作

	docker -v  查看版本systemctl status docker 查看docker状态systemctl start dockersystemctl stop dockerdocker info  # 查看docker更详细信息

docker pull 设置国内镜像站

# 远程仓库,下载镜像 ,国外:https://hub.docker.com---》下载比较慢--》设置国内镜像站

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

阿里云注册会有一个属于自己的镜像加速器

docker安装后会有 /etc/docker 文件夹

vim /etc/docker/daemon.json

 配置这句话

systemctl daemon-reload      
systemctl restart docker
{"registry-mirrors": ["https://x1566319.mirror.aliyuncs.com"]
}

2 镜像相关操作

  1 查找镜像

     -docker search 镜像名称  
    -建议去hub.docker.com 直接搜,更直观 

2 拉取镜像,指定标签 tag

docker pull centos:7
如果不指定标签,会下载最新
docker pull centos
docker pull centos:latest

3 查看本地镜像 

docker images  # 等同于 docker image ls

 4 删除镜像

docker rmi 镜像ID   # 可以同时删多个

  5 删除所有镜像

# 查出所有镜像的id号     docker images -q
docker rmi `docker images -q`

3 容器相关操作

把镜像运行成容器,并且一个镜像,可以运行出多个容器 

查看正在运行的容器

docker ps 

查看所有容器

docker ps -a

 查看最后一次运行的容器

docker ps -l

启动停止的容器

docker start id/名字

 停止运行的容器

docker stop 7d5e

停止所有在运行的容器

docker stop `docker ps -q`

3.2 run运行容器

 # 运行容器(其实是两步:创建容器:create,运行容器:run)
    -如果容器没有创建,直接执行run,就会创建并运行,所以你只需要会run就行了
    -run 的时候,有很多参数
        -i:表示运行容器
        -t:表示容器启动后会进入容器命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
        -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)
        
        
        --name :为创建的容器命名,如果不写,随机生成一个名字
            
            
        -v:表示目录映射关系(前者是宿主机目录,后者是容器的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
        -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

docker run -id  # 不会进入到容器内部
docker run -it  # 会进入到容器内部# 创建一个python3.9容器---》不进入
docker run -id --name python3 python:3.9# 启动一个centos容器,名字叫mycentos,并且进入
docker run -it --name=mycentos centos:7
yum install vim -y  # 在容器中装了vim软件
exit  # 退出,容器停止了######重要
# 如果是it进入容器---》容器会开启一个进程处理我:/bin/bash   python  如果在容器中敲exit退出了这个进程,这个进程就结束了---》容器会停止---》容器要运行,必须有个前台进行在运行,并且是夯住(阻塞)的---》否则容器就听了# 启动一个centos容器,名字叫mycentos,不进入
docker run -id  centos:7# 启动容器
docker start mycentos# 进入到容器内部(本质是让容器执行命令)
docker exec 容器id 命令
docker exec f82e8578b9b1 lsdocker exec -it  f82e8578b9b1 /bin/bash  # 进入到容器内部# 退出
exit

3.1 -v目录映射

1 运行容器并做映射(宿主机--》有docker软件)
docker run -id --name=lqzcentos  -v /home/lqz/:/home/ centos:7
#docker run -id --name=lqzcentos  -v /home/lqz/aa.txt:/aa.txt centos:7
2 进入到容器内部
docker exec -it lqzcentos /bin/bash
3 到home路径下
cd /home
4 容器内部修改文件---》会影响外部5 外部修改文件---》影响内部# 好处是,后期咱们部署django项目有个django容器,做好映射,代码放在宿主机上即可,以后更新了代码,只要重启容器,代码就是最新了运行mysql容器---》mysql配置文件放在宿主机上做好映射mysql容器---》表数据,放到容器中---》如果删了容器---》数据库全没了表数据,放在宿主机上---》把容器删除---》表数据还在----》再启动一个容器做好映射---》数据都还在# -v参数:目录映射
docker run -id --name=lqz -v /home/lqz:/lqz centos:7
以后无论在宿主机还是容器中修改当前目录下的文件,都会相互影响

3.4 -p 端口映射

# -p参数:端口映射  容器中启动一个mysql5.7 --》容器中的3306监听,
宿主机3306没人监听,做端口映射后,宿主机的3306就被docker的这个容器监听了
# 启动的mysql的root密码是123456# 启动mysql容器
docker run -id --name=mysql -p 3307:3306  -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7#  netstat -nlp |grep 3307 查看本机80端口占用情况
# 以后访问宿主机80端口就等于访问容器的3306端口

3.5 容器剩余

# 启动容器docker start 容器id
# 停止容器docker stop 容器id# 文件拷贝(宿主机执行)# 容器的文件copy到宿主机上(不是在容器内执行)docker cp 容器名称:容器目录 需要拷贝的文件或目录docker cp  f6ce8be027de:/aa.txt /aa.txt# 宿主机的文件copy到容器中docker cp 需要拷贝的文件或目录 容器名称:容器目录docker cp /home/lqz/aa.txt f6ce8be027de:/aa.txt# 查看容器IP地址    docker inspect 容器名称  # 查看容器的详细描述,很多docker inspect 7f412212f708 --format='{{.NetworkSettings.IPAddress}}' 容器名称(容器ID)# 在多个容器之间是可以ping通的(容器和宿主机也可以)
# centos:172.17.0.3
# mysql:172.17.0.2# 删除容器(删除已停止的容器)docker rm 容器id  docker rm `docker ps -a -q`# 无状态的服务(在容器中尽量运行无状态的服务)-mysql reids   有状态,运行过程中产生数据,保存,容器删除,数据就没了-uwsgi+django  无状态的服务

5 迁移备份

 # 镜像从哪来的?
    1 docker pull 拉的
    2 通过容器打包成镜像
    3 Dockerfile构建

 容器保存为镜像

	-运行一个centos容器docker run -id --name centos_vim centos:7-在容器中装vimdocker exec -it a6e240 /bin/bashyum install vim -y-把容器做成镜像(centos+vim)docker commit centos_vim centos_vim_image-把centos_vim 容器删除docker rm centos_vim-基于新构建的镜像,运行成容器docker run -id --name centos_vim centos_vim_image:latest-进入到容器中,查看,软件都在docker exec -it id号 /bin/bash

镜像备份和恢复

docker save -o centos_vim_image.tar centos_vim_image-删除容器,删除镜像-把备份的镜像恢复docker load -i centos_vim_image.tar

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/38633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

旧版本docker未及时更新,导致更新/etc/docker/daemon.json配置文件出现docker重启失败

一、背景 安装完docker和containerd之后,尝试重启docker的时候,报错如下: systemctl restart dockerJob for docker.service failed because the control process exited with error code. See “systemctl status docker.service” and “…

学习ts(一)数据类型(基础类型和任意类型)

运行 起步安装 npm install typescript -g 运行tsc index.ts生成对应的js文件,然后使用node index.js执行js文件 为了方便运行还可以安装插件,ts-node index.ts运行即可 npm i ts-node -g npm init -y npm i types/node -D基本数据类型 // 1.字符…

探索不同类型的代理服务器 (代理 IP、socks5 代理)及其在网络安全与爬虫中的应用

1. 代理服务器简介 代理服务器是一台充当中间人的服务器,它在客户端与目标服务器之间传递网络请求。代理服务器在不同层级上可以执行不同的任务,包括缓存、过滤、负载均衡和隐藏客户端真实IP地址等。在网络安全和爬虫领域,代理服务器具有重要…

ARM(汇编指令)

.global _start _start:/*mov r0,#0x5mov r1,#0x6 bl LoopLoop:cmp r0,r1beq stopsubhi r0,r0,r1subcc r1,r1,r0mov pc,lr*/ mov r0,#0x1mov r1,#0x0mov r2,#0x64bl Loop Loop:cmp r0,r2bhi stopadd r1,r1,r0add r0,r0,#0x01mov pc,lr stop:B stop.end

现有的vue3+ts+vite项目集成electron

效果图 什么时Electron Electron是使用JavaScript,HTML和CSS构建跨平台的桌面应用程序框架。 Electron兼容Mac、Windows和Linux,可以构建出三个平台的应用程序。 现有的vue3项目集成Electron 安装依赖 原来有一个vue3+ts+vite+pnpm的项目,其中sub-modules是子项目,web是…

Monge矩阵

Monge矩阵 对一个m*n的实数矩阵A&#xff0c;如果对所有i&#xff0c;j&#xff0c;k和l&#xff0c;1≤ i<k ≤ m和1≤ j<l ≤ n&#xff0c;有 A[i,j]A[k,l] ≤ A[i,l]A[k,j] 那么&#xff0c;此矩阵A为Monge矩阵。 换句话说&#xff0c;每当我们从矩阵中挑…

全面梳理Python下的NLP 库

一、说明 Python 对自然语言处理库有丰富的支持。从文本处理、标记化文本并确定其引理开始&#xff0c;到句法分析、解析文本并分配句法角色&#xff0c;再到语义处理&#xff0c;例如识别命名实体、情感分析和文档分类&#xff0c;一切都由至少一个库提供。那么&#xff0c;你…

地理数据的双重呈现:GIS与数据可视化

前一篇文章带大家了解了GIS与三维GIS的关系&#xff0c;本文就GIS话题带大家一起探讨一下GIS和数据可视化之间的关系。 GIS&#xff08;地理信息系统&#xff09;和数据可视化在地理信息科学领域扮演着重要的角色&#xff0c;它们之间密切相关且相互增强。GIS是一种用于采集、…

欧拉函数和最大公约数

分析&#xff1a;如果两个数的最大公约数是一个质数p&#xff0c;那么这两个数都除以p&#xff0c;得到的两个数的最大公约数一定是1. 反证法&#xff1a;如果得到的两个数的最大公约数不是1&#xff0c;那么把此时的最大公约数乘以上边的最大公约数&#xff0c;得到的一定比上…

文件操作 和 IO

目录 ​编辑一、认识文件 1、文件路径 2、其它知识 二、Java 中操作文件 三、文件内容的读写 1、Reader 2、InputStream 3、输出 一、认识文件 文件是在硬盘上存储数据的一种方式&#xff0c;操作系统帮我们把硬盘的一些细节都封装起来了 我们只需要了解文件相关的一些…

【前端 | CSS】滚动到底部加载,滚动监听、懒加载

背景 在日常开发过程中&#xff0c;我们会遇到图片懒加载的功能&#xff0c;基本原理是&#xff0c;滚动条滚动到底部后再次获取数据进行渲染。 那怎么判断滚动条是否滚动到底部呢&#xff1f;滚动条滚动到底部触发时间的时机和方法又该怎样定义&#xff1f; 针对以上问题我…

数据集成革新:去中心化微服务集群的无限潜能

在当今数据密集型的业务环境下&#xff0c;传统的集中式架构已经难以满足高可用性和高并发性的要求。而去中心化微服务集群则通过分散式的架构&#xff0c;将系统划分为多个小型的、独立部署的微服务单元&#xff0c;每个微服务负责特定的业务功能&#xff0c;实现了系统的高度…

centos系统kubeadm安装K8S_v1.27.x容器使用docker(K8S_v1.24版本以后依然使用docker容器管理)

kubeadm安装K8S_v1.27.x容器使用docker 按照需要的文档点击这里下载 一.环境部署 1.1基础环境配置 主机IP 主机名规划 192.168.186.128 k8s-master01 192.168.186.129 k8s-node01 192.168.186.130 k8s-node02 1.2修改机器名称 #永久修改主机名 hostnamectl set-hostname …

docker搭建opengrok环境

引言&#xff1a; 由于这几天开始 http://aospxref.com/ 网站没法用了。用习惯了opengrok的方式看AOSP的源码&#xff0c;其他的在线查看源码的网站用起来都不是很理想。所以考虑搭建一个环境。 首先网上看了下opengrok的环境搭建的方式&#xff0c;最终还是采用docker的方…

【JS 一个数组随机选取x个元素】

可以使用Math.random()方法&#xff0c;结合循环和splice()方法来实现&#xff1a; let arr [1,2,3,4,5,6,7,8,9]; let randomArr [];for(let i 0; i < 4; i) {let randomIndex Math.floor(Math.random() * arr.length);let randomNum arr.splice(randomIndex, 1)[0];…

基于C#的无边框窗体阴影绘制方案 - 开源研究系列文章

今天介绍无边框窗体阴影绘制的内容。 上次有介绍使用双窗体的方法来显示阴影&#xff0c;这次介绍使用API函数来进行绘制。这里使用的是Windows API函数&#xff0c;操作系统的窗体也是用的这个来进行的绘制。 1、 项目目录&#xff1b; 下面是项目目录&#xff1b; 2、 函数介…

日常BUG——SpringBoot模糊映射

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;日常BUG、BUG、问题分析☀️每日 一言 &#xff1a;存在错误说明你在进步&#xff01; 一、问题描述 SpringBoot在启动时报出如下错误&#xff1a; Caused by: java.lang.IllegalStateExceptio…

ARM处理器

1、RISC处理器&#xff1a; RISC (Reduced Instruction Set Computer) 微处理器是一种计算机微处理器架构&#xff0c;其设计原则是通过简化指令集来提高执行速度。 (1)、RISC处理器的设计理念&#xff1a; 简化指令集&#xff1a;RISC 微处理器的指令集非常精简&#xff0c…

【Python COM】Word 自动纵向合并相同内容单元格

使用场景 docxtempl 库不支持动态纵向合并单元格&#xff0c;所以写了这段代码用来曲线救国。 使用方法 需要纵向合并的单元格加上在文本末尾加上“【纵向合并】”&#xff0c;然后调用此函数&#xff0c;就会自动纵向合并相同内容的单元格。 代码 需要安装 pywin32 库。 …

VC2015,C++内存中运行EXE文件

VC2015,C内存中运行EXE文件&#xff0c;点击可以下载 VC2015项目中所用的源码主要源自于网络&#xff0c;修正一些错误后&#xff0c;源码如下&#xff0c;此源码在VC6中可以正常编译&#xff0c; 但在VC2015中&#xff0c;就会出现一些错误&#xff0c;本项目源码已经把错误修…