Linux环境Docker在线和离线安装以及镜像的加载

Docker目前在市面上使用的非常广泛,作为一个开发人员,必须要会Docker的一些基本操作,这篇笔记就是记录在Linux环境下安装docker容器,然后将镜像文件加载到镜像文件,最后将本地的目录挂载到容器中,提供容器内使用。

获取Docker的方式

安装使用rpm包方式,这里需要下载rpm安装包,如果直接从官网上下载的话,会很慢,甚至直接就连不上。所以这里推荐阿里的镜像源下载,下载的方式有两种,一种是直接本地下载,一种是在机器上使用wget命令下载。

  • 本地直接下载:阿里开源镜像站
  • Linux系统机器wget下载:wget https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-17.12.1.ce-1.el7.centos.x86_64.rpm(注意使用这种方式需要Linux系统本身可以连外网)

在线安装(推荐)

  • 把上一步获取的rpm放到Linux机器中,目录自定义。
  • 执行安装命令:
1
yum -y install *.rpm

上面命令执行结束docker即安装成功!

离线安装(被迫情况下)

在完全没有外网的Liunx机器中安装docker,这个时候只能使用本地下载rpm包,上传到服务器中,然后按照以下步骤安装。离线安装和在线安装的区别主要是安装包的问题,在线安装如果有需要的依赖,会自动下载安装,但是在离线状态下,如果遇到需要的依赖,只能手动的安装,因此这个时候所需要准备的安装包就不止上面下载的那一个了。。

安装包准备

下面列举的安装包在下载docker-ce的时候进入的页面内都可以找到。

注意:
  1. docker-ce-selinuxdocker-ce-clidocker-ce三个rpm包的版本要求一样。containerd.io的版本使用最新的即可。
  2. 如果你使用的docker版本比较高,可能会没有对应的docker-ce-selinux安装包,这是由于在高版本中把docker-ce-selinux废弃了,需要另外下载container-selinux替代,下载地址:https://pkgs.org/download/container-selinux

安装过程

  • 添加repo:将下载好的docker-ce.repo文件拷贝到/etc/yum.repos.d/下;
  • 按顺序依次安装containerd.iodocker-ce-clidocker-ce-selinuxdocker-ce包:
1
2
3
4
rpm -ivh containerd.io-**.rpm
rpm -ivh docker-ce-cli-**.rpm
rpm -ivh docker-ce-selinux-**.rpm ##或者rpm -ivh container-selinux-**.rpm
rpm -ivh docker-ce-**.rpm
  • 上面所有命令执行结束,docker安装成功,可以通过docker启动命令启动,然后做自己的操作啦。

依赖补充

在安装过程中一帆风顺很好,但是如果遇到需要安装的依赖,依次安装即可。(偷偷告诉你一个秘密,需要的补充的依赖很多,安装到一半放弃啦!)

这里通过在线安装给大家看一下再此过程中涉及到多少依赖:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Installed:
docker-ce.x86_64 0:17.12.1.ce-1.el7.centos

Dependency Installed:
audit-libs-python.x86_64 0:2.8.5-4.el7
checkpolicy.x86_64 0:2.5-8.el7
container-selinux.noarch 2:2.119.2-1.911c772.el7_8
libcgroup.x86_64 0:0.41-21.el7
libseccomp.x86_64 0:2.3.1-4.el7
libsemanage-python.x86_64 0:2.5-14.el7
policycoreutils-python.x86_64 0:2.5-34.el7
python-IPy.noarch 0:0.75-6.el7
setools-libs.x86_64 0:3.3.8-4.el7

Dependency Updated:
policycoreutils.x86_64 0:2.5-34.el7

镜像加载

上面安装结束后,需要将镜像加载到docker容器中。命令如下:

1
docker load < 镜像文件

查镜像是否加载成功

1
docker image list

普及几个docker命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 查看docker状态
systemctl status docker
# 设置docker开机自动启动
systemctl enable docker
# 启动docker
systemctl start docker
# 停止docker
systemctl stop docker
# docker容器镜像列表
docker image list
# 启动docker内指定ID的镜像
docker start [ID]
# 停止docker内指定ID的镜像
docker stop [ID]
# 进入docker内指定ID的命令终端
docker exec -it [ID] /bin/bash
# 在宿主机中执行docker容器内的shell命令
docker exec -it [ID] /bin/bash -c 'cd /home/demo/ && ./demo.sh'
# 根据镜像ID删除镜像(如果镜像被其他容器引用,需先删除容器)
docker rmi [image_id]
docker rmi -f [image_id] # 强制删除,不管是否被其他容器引用
# 查看docker中的容器列表
docker pa -a
# 删除容器,根据容器ID
docker rm [ID]


本文作者:IT-CRUD
原文地址:http://blog.itcrud.com/blogs/2020/10/linux-docker-install
版权归作者所有,转载请注明出处

支付宝 微信

如果文章对你有帮助,欢迎点击上方按钮打赏作者