Docker基本配置

这篇具有很好参考价值的文章主要介绍了Docker基本配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker基本配置

Docker三大基础概念

1.docker镜像(Image)

docker镜像类似于虚拟机镜像,可以将其理解为一个只读模板。除了提供容器运行时所需的程序、库、资源、配置等文件外,docker镜像还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。

镜像是创建docker容器的基础,它可以通过版本管理和增量的文件系统,如Docker Hub。

2.docker容器(container)

docker容器(container)类似于轻量级的沙箱,docker利用容器来运行和隔离应用。

容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,但是所有的容器是相互隔离的,互不可见的,这就提供了一个实体机可以安装多个容器,且很轻量级相对于虚拟机。镜像本身是只读的,容器从镜像启动的时候,docker会在镜像的最上层创建一个可写层,镜像本身保持不变。

3.docker仓库(repository)

docker仓库(repository)类似于代码库,是docker集中存放镜像的场所。实际上,注册服务器是存放仓库的地方,其上往往存放着很多仓库。每个仓库集中存放某一类镜像,往往包括多个镜像文件,通过不同的标签(tag)来进行区分。

根据存储的镜像公开分享与否,docker仓库可以分为公开仓库(Public)和私有仓库(Private)两种形式。目前,最大的公开仓库是Docker Hub,存放了数量庞大的镜像供用户下载,国内的公开镜像包括Docker Pool,可以提供稳定的国内访问,与GitHub类似。

安装Docker(Debian系统)

  1. 更新现有软件包

    sudo apt-get update
    sudo apt-get upgrade
    
  2. 安装前置依赖

    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
    
  3. 配置Docker官方GPG密钥

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  4. 配置Docker软件源

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  5. 安装docker

    sudo apt-get update
    sudo apt-get install docker-ce
    
  6. 验证Docker安装是否成功

    sudo docker version
    

    如果安装成功,可以看到Docker版本信息的输出。

  7. 启动docker

    sudo systemctl start docker
    
  8. 查看docker运行状态

    sudo systemctl status docker
    
  9. 设置docker自动启动

    sudo systemctl enable docker
    
  10. 卸载docker

```shell
# 删除安装包
sudo apt-get purge docker-ce docker-ce-cli containerd.io
# 删除镜像、容器、配置文件等数据
rm -rf /var/lib/docker
```

镜像打包与加载

如果需要将某一服务器上的镜像传输到另一服务器上时,可以将镜像打成tar包后传输。

  1. docker提供 save 命令,可以将镜像打成tar包

    docker save -o tar包名称.tar 待打包镜像名称:待打包镜像版本
    

    示例

    docker save -o cdy.tar cdy:v1.0
    

    当前目录会生成cdy.tar文件。

  2. 加载镜像

    docker load -i 镜像名称.tar
    
  3. 搜索镜像(可以自己制作镜像上传本地或官网仓库 dockerfile)

    docker search <镜像名>
    
  4. 下载镜像

    docker pull <镜像名>
    
  5. 查看镜像列表

    docker images
    
  6. 查看镜像详细信息

    docker inspect <镜像 ID>
    
  7. 给镜像打标签

    docker tag <镜像名>:<原标签> <镜像名>:<新标签>
    # 例子
    docker tag nginx:latest nginx:lnmp
    
  8. 删除镜像

    docker rmi <镜像名>
    docker rmi <镜像标签>
    docker rmi <镜像 ID>
    docker rmi `docker images -aq`		#删除所有镜像
    docker images | awk 'NR>=2{print "docker rmi -f "$3}' | bash
    

容器命令管理

  1. 创建容器

    格式:docker create [选项] 镜像
    常用选项:
    -i:让容器开启标准输入
    -t:让docker分配一个伪终端tty
    -it:合起来用实现和容器交互的作用,运行一个交互式会话shell
    --name:指定容器名称:不指定会随机生成
    示例:
    docker create -it nginx:latest /bin/bash
    
  2. 启动并创建容器

    格式:docker run [命令] [--name 容器名称] 镜像 [bash]  [-c 操作]
    bash:指定运行环境
    -c:不入容器执行指定命令
    -d:后台运行并返回容器id
    前台运行
    docker run -it centos:7 bash -c ls /
    docker run -i --name test1 centos:7 bash -c ls /
    docker ps -a-d 选项让Docker容器以守护形式在后台运行且容器所运行的程序不能结束
    docker run -itd --name test2 centos:7  /bin/bash
     
    #示例1:
    docker run -itd nginx:latest /bin/bash
     
    #示例2:执行后退出
    docker run centos:7 /usr/bin/bash -c ls /   
     
    #示例3:执行后不退出,以守护进程方式执行持续性任务
    docker run -d centos:7 /usr/bin/bash -c "while true;do echo hello;done" 
    

    一个复杂的样例

    docker run --init --privileged=true -dit --name ems --restart=always -p 80:80  -v /home/work/deploy:/home/work/deploy -e "LANG=en_US.UTF-8" -e "SKIFF_HOSTNAME=<主机序列号>" -e "SKIFF_ENV=prod" -e "SKIFF_IDC=station-<站点名>-<站点序号>" -e "SKIFF_NODE=<主机序列号>" -e "install_type=<部署类型>" --hostname <主机序列号> 镜像名称
    
    docker run --init --privileged=true -dit --name ems --restart=always -p 80:80  -v /home/work/deploy:/home/work/deploy -e "LANG=en_US.UTF-8" -e "SKIFF_HOSTNAME=nandu-test" -e "SKIFF_ENV=prod" -e "SKIFF_IDC=station-nandu_test-1" -e "SKIFF_NODE=nandu_test" -e "install_type=3" --hostname nandu_test-1 caoxiaodong/debain:20230516 /bin/bash -c 'sh /home/start.sh && tail -f /dev/null'
    
  3. 进入容器

    docker exec -it <容器id或名称> bash
    # 例子
    docker exec -it ems bash
    
  4. 重启容器(如果在容器里面先退出)

    # 先查看对应容器的容器Id
    docker ps -a
    # 重启容器
    docker restart <容器Id>
    
  5. 停止容器

    docker stop <容器Id>
    
  6. 删除容器文章来源地址https://www.toymoban.com/news/detail-796196.html

    docker rm <容器Id>
    

到了这里,关于Docker基本配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • .net8+webapi+sqlsugar基本配置;“连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确”异常

    1、引入sqlsugar的nugat包 2、封装一个操作类(参考sqlsugar官方文档) 3、配置program.cs和appsettings program.cs加上下面代码  appsettings配置连接字符串 4、新建一个控制台生成实体类 5、添加测试的controller 6、swagger调试抛异常 7、修改csproj文件中,仅适用.net 8(参考sqlsugar官方文档)  8、

    2024年03月15日
    浏览(67)
  • 【Java】微服务——Docker容器部署(docker安装,docker配置镜像加速,DockerHub,docker基本操作,Dockerfile自定义镜像.Docker-Compose)

    微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。 分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。 在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题 1.1.1.应用部署的环境问题 大型项目组件较多,运

    2024年02月04日
    浏览(56)
  • Docker基本配置

    1.docker镜像(Image) docker镜像类似于虚拟机镜像,可以将其理解为一个只读模板。除了提供容器运行时所需的程序、库、资源、配置等文件外,docker镜像还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。 镜像是创建docker容器的基础,它可以通过版

    2024年01月17日
    浏览(36)
  • [Docker] Docker学习和基本配置部署(一)

    前言: Docker的作用是通过容器化技术实现快速、可移植和可扩展的应用程序部署与管理。 Docker是一种流行的容器化平台,正在改变软件开发和部署的方式。通过将应用程序和其依赖项打包到轻量级的容器中,Docker提供了一种可移植、可靠且高效的方式来构建、交付和运行应

    2024年02月13日
    浏览(43)
  • Ubuntu配置基本环境以及docker安装基本中间件

    提示:ip地址请改为自己的本地ip 为了安全性,建议都给一些中间件设置密码(本文也会教大家如何设置密码) 此处如果安装失败,apt要换源。 docker版本为24.0.2 首先,更新软件包索引,并且安装必要的依赖软件,来添加一个新的 HTTPS 软件源: 使用下面的 curl 导入源仓库的

    2024年02月01日
    浏览(57)
  • Linux网络基本配置

    Linux网络的基本配置和网络接口的初始化都是通过一组配置文件,可执行脚本和命令来控制的。 通常网络的配置主要经过以下几个步骤: 配置主机名称; 网络文件配置; 配置网卡配置文件; 配置域名解析; 网络服务重启。 一、 主机名称配置 配置主机名称的目的是方便人

    2024年02月09日
    浏览(41)
  • 新服务器基本环境下载conda + docker + docker-compose + git

    miniconda官方下载地址 这个版本是py3.11的 执行 下完后从新开一个命令行前面就有一个(base)说明你下载好了 docker下载 免密设置(输入后再输入一次密码即可)

    2024年02月11日
    浏览(43)
  • Kafka基本概念及其配置--docker desktop下的配置(尚未更新完成)

    Apache Kafka 是一款开源分布式流处理平台。可以用来发布和订阅数据以及对数据进行实时或者离线处理。 高吞吐量、低延迟 :kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作; 扩展性强 :支持分布式

    2024年03月11日
    浏览(40)
  • 关于nginx的linux命令 以及 基本配置文件的配置

    nginx介绍 反向代理,https,动静分离(web 服务),负载均衡 (反向代理),web 缓存 内存少,并发能力强(支持50,000 个并发) 配置文件默认是放在/usr/local/nginx/conf/nginx.conf,配置文件中默认有三大块:全局块、events块、http块。 我们主要修改http块: 反向代理 server { location

    2023年04月23日
    浏览(58)
  • Linux-FTP的基本配置

    ​ 用户权限配置:可以通过配置用户账户和目录访问权限来限制FTP用户的访问权限以及文件上传下载的权限。 端口配置:FTP服务需要开放TCP端口21(控制端口)和20(数据端口),可以在防火墙和路由器等网络设备中进行相应的配置。

    2024年02月07日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包