Docker初步

docker安装

因为要学习redis,RabbitMQ等开源项目,所以便先学习docke技术。网上百度教程,看起来很简单
1、检查内核版本,必须是3.10及以上
uname ‐r
2、安装docker
yum install docker
3、输入y确认安装
4、启动docker
[root@localhost ~]# systemctl start docker
这时问题出现了:Job for docker.service failed because the control process exited with error code. See “systemctl status docker.service” and “journalctl -xe” for details
docker 无法正常启动,网上比较主流的说法是docker的engine 基于Device Mapper提供的一种存储驱动,而它又依赖与 devicemapper。所以将其给删除并重启服务,并给出如下解决方案

# rm -rf /var/lib/docker/
# 添加如下内容
# vim /etc/docker/daemon.json
{
    "graph": "/mnt/docker-data",
    "storage-driver": "overlay"
}

但问题依然存在,后误打误撞安装成功代码如下

卸载老版本的 docker 及其相关依赖
sudo yum remove docker docker-common container-selinux docker-selinux docker-engine
安装 yum-utils,它提供了 yum-config-manager,可用来管理yum源
sudo yum install -y yum-utils
添加yum源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新yum索引
sudo yum makecache fast
安装 docker-ce
sudo yum install docker-ce
启动 docker
sudo systemctl start docker

经过分析,初步认为是变量路径(PATH)有问题,之前只是shell命令切换到root账户,读取变量的方式是non-login shell,这样的方式下非常多的变量都不会改变。尤其是PATH。所以root用的非常多的命令都仅仅能用绝对路径来运行。这样的方式仅仅是切换到root的身份。可后续查资料对sudo命令操作还是有困扰,不确定是否是这个原因,但两个虚拟机都用同样的办法安装好了docker。

docker常用操作

docker search 关键字:去docker hub上检索镜像的详细信息
docker pull 镜像名:tag:tag是可选的,tag表示标签,多为软件的版本,默认
是latest
docker images:查看所有本地镜像
docker rmi image-id:删除指定的本地镜像
docker run -d//后台启动 -p 6379:6379//暴漏端口,将虚拟机的端口映射到容器端口 --name 名字 id 启动容器
可此时又出现了如下问题

docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused "process_linux.go:293: copying boots
trap data to pipe caused \"write init-p: broken pipe\"": unknown.

查资料了解到是内核版本太低,和docker不匹配
升级内核代码如下

1. 导入key

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

2. 安装 elrepo 的yum源

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

3. 安装内核

在yum的elrepo源中,有最新版本内核。直接yum安装即可。

yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y

5. 设置系统启动顺序

查看系统启动项:

cat /boot/grub2/grub.cfg |grep menuentry

可以发现有最新版本的内核,此时可以设置最新版本内核为默认启动:

grub2-set-default  'CentOS Linux (4.17.0-1.el7.elrepo.x86_64) 7 (Core)'

此时,查看默认启动的系统版本grub2-editenv list:

显示为'CentOS Linux (4.17.0-1.el7.elrepo.x86_64) 7 (Core)'

6. reboot,重启之后h再次查看 uname -r

之后成功启动容器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Windows系统上启动Docker,你可以按照以下步骤进行操作: 1. 首先,确保已经下载并安装了Docker Desktop for Windows。你可以从官方网站上下载并按照安装向导进行安装。 2. 在安装完成后,打开Docker Desktop应用程序。在系统托盘中找到Docker图标,右键单击并选择"启动Docker"。 3. 如果你在启动过程中遇到了网络连接错误导致启动失败的情况,你可以尝试删除已下载的临时文件。这些文件通常位于C:\Users\你的用户名\.docker\machine\cache目录下。删除这些文件后,重新启动Docker Desktop。 4. 如果你仍然无法启动Docker,你可以尝试手动下载boot2docker.iso文件。你可以从https://github.com/boot2docker/boot2docker/releases/download/v18.06.1-ce/boot2docker.iso下载该文件。下载完成后,将boot2docker.iso文件复制到C:\Users\你的用户名\.docker\machine\cache目录下,并重新启动Docker Desktop。 5. 当你看到Docker Desktop成功启动后,你可以通过运行命令docker info来查看Docker虚拟机的根目录。在Windows系统上,Docker虚拟机的根目录通常位于C:\Users\你的用户名\AppData\Local\Docker目录下。 请注意,这些步骤是基于Windows系统上的Docker Desktop版本。如果你使用的是其他版本的Docker或操作系统,请参考相应的文档或指南进行操作。 #### 引用[.reference_title] - *1* *3* [二、Docker安装及使用教程(Windows版)](https://blog.csdn.net/weixin_44330367/article/details/130146965)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Windows上 Docker 初步安装启动使用详细教程](https://blog.csdn.net/u014150715/article/details/105294957)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值