IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Docker安装和使用 -> 正文阅读

[系统运维]Docker安装和使用

一、关键词
  • 镜像和容器
Dokcer镜像:相当于Java类Class
Docker容器:相当于Java对象Object
通过类创建对象,通过镜像创建容器

镜像:只读状态,安装应用包,包含依赖整体的环境,镜像启动后就是容器
容器:类似启动的程序,可以依据镜像启动多个,名称要不一样
  • docker仓库
Docker 仓库 - Docker registeries: ?来保存镜像,有公有和私有仓库,好?Maven的中央仓库和本地私服

二、安装Docker(CentOS)
  • 依次运?以下命令添加更新yum源
yum update
yum install epel-release -y
yum clean all
yum list

? 2.1 方式1:快速安装并运行docker

yum install docker-io -y
systemctl start docker

  1. ? 2 方式2: 根据Linux系统选择合适的Docker版本进行安装
  • 参考可安装的版本命令为:yum list docker-ce --showduplicates|sort -r

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HGWIcDOC-1639322105686)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1637220429031.png)]

版本号为 docker-ce-18.06.0.ce

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KKLbaq6F-1639322105688)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1637220652788.png)]

安装命令为 yum install docker-ce-18.06.0.ce -y # 中间用 - 连接

红框下面的版本也可以正常安装成功:yum install docker-ce-17.09.0.ce -y

一直等这下载安装完毕即可

2.3 安装完成后检查

  • 检查安装结果
docker info
docker -v 或 docker version 可查看安装的具体版本信息
  • 启动使?Docker
systemctl start docker #运?Docker守护进程
systemctl stop docker #停?Docker守护进程
systemctl restart docker #重启Docker守护进程
systemctl status docker #查看docker的启动状态信息
  • 验证是否正确安装

    • 先启动 sudo systemctl start docker

    • 通过运行hello-world 映像验证是否正确安装了Docker Engine ,如下图

    • sudo docker run hello-world

    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tGYuSciy-1639322105689)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1637227328806.png)]

  • ?个命令部署Nginx

docker run --rm --name nginx-xdclass -p 8080:80 -d
nginx
docker run --name mynginx2 --network=host -p 8080:80 -d nginx:1.20.2
--rm:容器终?运?后,?动删除容器?件。
--name nginx-xdclass:容器的名字叫做nginx-xdclass,名字??定义.
-p: 端?进?映射,将本地 8080 端?映射到容器内部的 80 端?
-d:容器启动后,在后台运?

docker ps 查看容器
docker stop 容器id
  • 修改镜像仓库
vim /etc/docker/daemon.json
#改为下?内容,然后重启docker
{
"debug":true,"experimental":true,
"registry-mirrors":
["https://pb5bklzr.mirror.aliyuncs.com","https://hub
-
mirror.c.163.com","https://docker.mirrors.ustc.edu.c
n"]
} 
#查看信息
docker info
三、常用命令
  • 安装部署好Docker后,执?的命令是docker开头
  • xxx是具体某个镜像名称
  • 搜索镜像: docker search xxx
  • 列出当前系统存在的镜像: docker images
  • 拉取镜像: docker pull xxx
    • xxx是具体某个镜像名称(格式 REPOSITORY:TAG)
    • REPOSITORY:表示镜像的仓库源
    • TAG:镜像的标签运??个容器
    • 例如 docker pull mysql:5.7
  • **运??个容器 **
docker run --name nginx_xd -p 8080:80 -d nginx
docker run - 运??个容器
-d 后台运?
-p 端?映射  8080:80  左边对外开放的端口,右侧为本身端口号
--name "xxx" 容器名称,自定义名称,容器名称不能相同

案例 docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
  • 列举当前运?的容器: docker ps
  • 列举全部 容器 : docker ps -a
  • 检查容器内部信息: docker inspect 容器名称
  • 删除镜像: docker rmi IMAGE_NAME
    • 强制移除镜像不管是否有容器使?该镜像 增加 -f 参数
  • 停?某个容器: docker stop 容器名称
  • 启动某个容器: docker start 容器名称
  • 移除某个容器: docker rm 容器名称 (容器必须是停?状态)
  • 查看容器启动?志
    • docker logs -f containerid
四、卸载

卸载分为两个步骤,先是使用yum移除安装软件,再使用rm删除docker创建的文件夹即可,参考如下:

  • 1、卸载docker软件包

    $sudo yum remove docker-ce
    
  • 2、主机上的镜像、容器、存储卷、定制配置文件不会自动删除,如需删除所有镜像、容器、和存储卷,请运行下列命令

    $sudo rm -fr /var/lib/docker
    

    yum remove docker-ce

    rm -rf /var/lib/docker

    # rm -rf /etc/docker

    # rm -rf /run/docker

    # rm -rf /var/lib/dockershim

    # rm -rf /var/lib/docker

五、问题解决
  • 安装最新版运行hello world时的错误

错误一:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: ux.go:297: copying bootstrap data to pipe caused “write init-p: broken pipe”":

错误二:

docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:245: running exec setns process for init caused “exit status 29"”

解决方案:切换安装版本,切换至本例中的第二种安装版本方式。

六、Docker设置阿里云镜像加速
  • 目的:绕过Docker国外的下载龟速

    • 通过修改daemon配置文件 /etc/docker/daemon.json来使用加速器

    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7cEmAp0d-1639322105690)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1637221462002.png)]

    • 将{ }中间的内容存储至 /etc/docker/daemon.json 目录文件中(修改之前此文件为空内容)

    • 并执行下列的两个命令,重新加载deamon配置文件和重启docker,重启docker是必须的

    systemctl daemon-reload
    systemctl restart docker
    
七、镜像仓库

公有仓库,保存了大量镜像

https://registry.hub.docker.com/search?type=image

八、docker修改容器配置文件
  • 1、进入容器内部

    sudo docker exec -it 容器名或ID /bin/bash
    
  • 2、退出容器 exit

  • 3、 安装vim命令

    apt-get update   # 更新软件列表  
    apt-get install vim  # 安装vim命令
    
  • 4、修改配置文件

    找到配置文件路径及其内容,如果要修改端口或者其他内容直接编辑配置文件即可
    whereis  dirname    #命令用于查找文件
    find / -name "default.conf"   # 在/根目录下查找文件
    find /etc -name “default.conf”   # 在/etc目录下查找文件
    
    
    
  • docker镜像都是独立的,在一个容器中安装了vim命令,在其他容器中使用vim 命令是不生效的,需要在每个镜像中都安装vim或vi

九、容器网络配置

在运行时加上 docker run --network=选项指定

  • host模式:使用 --net=host 指定。
  • none模式:使用 --net=none 指定。
  • bridge模式:使用 --net=bridge 指定,默认设置。
  • container模式:使用 --net=container:NAME_or_ID 指定。
ping命令不通(安装时保证主机能连接外网)
因为用Docker拉取的Base镜像如Centos和Ubuntu的话都是最简版本,不包含Ping工具,而对Docker进行Docker network和Docker链接操作时往往要用到Ping工具测试两个容器间的网络,此时就要用到Ping工具了,下面是Ubuntu下安装Ping工具的命令:

    sudo apt-get update && apt-get install iputils-ping
最后、案例实验

完成mysql的安装部署和连接

完成jenkins安装部署和访问

完成nginx安装部署

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-13 13:16:28  更:2021-12-13 13:17:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:27:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码