Linux 安装使用 Docker

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

一、前提

一些旧版本的 Docker 我们称其为 docker 或 docker-engine。未避免此次安装受历史安装版本影响,需要先删除历史版本及各类依赖后再进行安装

卸载命令:

 sudo yum remove docker \
                 docker-client \
                 docker-client-latest \
                 docker-common \
                 docker-latest \
                 docker-latest-logrotate \
                 docker-logrotate \

执行情况:

本次所使用的云服务器没有 Docker 相关信息

[root@shangliang ~]# sudo yum remove docker \
>                   docker-client \
>                   docker-client-latest \
>                   docker-common \
>                   docker-latest \
>                   docker-latest-logrotate \
>                   docker-logrotate \
>                   docker-engine
Failed to set locale, defaulting to C.UTF-8
No match for argument: docker
No match for argument: docker-client
No match for argument: docker-client-latest
No match for argument: docker-common
No match for argument: docker-latest
No match for argument: docker-latest-logrotate
No match for argument: docker-logrotate
No match for argument: docker-engine
No packages marked for removal.
Dependencies resolved.
Nothing to do.
Complete!

二、安装 Docker

1. 通过仓库进行安装(在线方式)

首次安装 Docker Engine 之前,需要先设置 Docker 存储库,后续可以通过存储库来更新 Docker。能访问互联网的建议通过此种方式安装,方便后续升级。

1.1 设置存储库

安装 yum-utils (安装报错,查看处理方式最底处)

sudo yum install -y yum-utils

设置存储库

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

1.2 查看可安装版本

yum list docker-ce --showduplicates | sort -r

查询的版本数据为当前所使用的仓库内,当前系统可用的 Docker 版本信息

[root@shangliang ~]# yum list docker-ce --showduplicates | sort -r
Failed to set locale, defaulting to C.UTF-8
docker-ce.x86_64                3:20.10.9-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.8-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.7-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.6-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.5-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.4-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.3-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.2-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.17-3.el8                docker-ce-stable
docker-ce.x86_64                3:20.10.16-3.el8                docker-ce-stable
docker-ce.x86_64                3:20.10.15-3.el8                docker-ce-stable
docker-ce.x86_64                3:20.10.14-3.el8                docker-ce-stable
docker-ce.x86_64                3:20.10.13-3.el8                docker-ce-stable
docker-ce.x86_64                3:20.10.12-3.el8                docker-ce-stable
docker-ce.x86_64                3:20.10.11-3.el8                docker-ce-stable
docker-ce.x86_64                3:20.10.10-3.el8                docker-ce-stable
docker-ce.x86_64                3:20.10.1-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.0-3.el8                 docker-ce-stable
docker-ce.x86_64                3:19.03.15-3.el8                docker-ce-stable
docker-ce.x86_64                3:19.03.14-3.el8                docker-ce-stable
docker-ce.x86_64                3:19.03.13-3.el8                docker-ce-stable
Docker CE Stable - x86_64                        45 kB/s |  26 kB     00:00
Available Packages

1.3 安装 Docker

默认安装的为最新版本

sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

如果需要安装特定版本,增加对应版本号即可

sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-compose-plugin

执行完安装命令等待安装即可,中间出现 Is this ok [y/N]: 直接 y

#安装完成
Installed:
  checkpolicy-2.9-1.el8.x86_64           container-selinux-2:2.167.0-1.module_el8.5.0+911+f19012f9.noarch  containerd.io-1.6.6-3.1.el8.x86_64              docker-ce-3:20.10.17-3.el8.x86_64
  docker-ce-cli-1:20.10.17-3.el8.x86_64  docker-ce-rootless-extras-20.10.17-3.el8.x86_64                   docker-compose-plugin-2.6.0-3.el8.x86_64        docker-scan-plugin-0.17.0-3.el8.x86_64
  fuse-common-3.2.1-12.el8.x86_64        fuse-overlayfs-1.7.1-1.module_el8.5.0+890+6b136101.x86_64         fuse3-3.2.1-12.el8.x86_64                       fuse3-libs-3.2.1-12.el8.x86_64
  libcgroup-0.41-19.el8.x86_64           libslirp-4.4.0-1.module_el8.5.0+890+6b136101.x86_64               policycoreutils-python-utils-2.9-16.el8.noarch  python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64
  python3-libsemanage-2.9-6.el8.x86_64   python3-policycoreutils-2.9-16.el8.noarch                         python3-setools-4.3.0-2.el8.x86_64              slirp4netns-1.1.8-1.module_el8.5.0+890+6b136101.x86_64
 
Complete!

1.4 启动 Docker

# 启动 Docker
[root@shangliang ~]# sudo systemctl start docker

1.5 验证是否成功

输出 Hello 相关信息,表示我们 Docker 已经安装成功
Hello from Docker!
This message shows that your installation appears to be working correctly.

[root@shangliang ~]# sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:80f31da1ac7b312ba29d65080fddf797dd76acfb870e677f390d5acba9741b17
Status: Downloaded newer image for hello-world:latest
​
Hello from Docker!
This message shows that your installation appears to be working correctly.

2. 通过 RMP 包安装(离线方式)

官方下载地址:Index of linux/

包含各版本 Linux 系统的 Docker 安装包,根据系统版本自行选择即可。

CentOS 8.2 x86_64可直接下载 docker-ce-cli-20.10.17-3.el8.x86_64.rpm (日期:2022-06-07 00:47:30)

2.2 安装 Docker

# 路径替换为自己的 rpm 包路径
sudo yum install 包存放路径/docker-ce-cli-20.10.17-3.el8.x86_64.rpm

2.3 启动 Docker

# 启动 Docker
[root@shangliang ~]# sudo systemctl start docker

2.4 验证是否成功

输出 Hello 相关信息,表示我们 Docker 已经安装成功

Hello from Docker!
This message shows that your installation appears to be working correctly.

[root@shangliang ~]# sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:80f31da1ac7b312ba29d65080fddf797dd76acfb870e677f390d5acba9741b17
Status: Downloaded newer image for hello-world:latest
​
Hello from Docker!
This message shows that your installation appears to be working correctly.

三、Docker 常用命令

1. 查看版本 docker version | docker --version

# 查看 docker 版本
[root@shangliang ~]# docker --version
Docker version 20.10.17, build 100c701
 
# 查看 Docker 版本(详细)
[root@shangliang ~]# docker version
Client: Docker Engine - Community
 Version:           20.10.17
 API version:       1.41
 Go version:        go1.17.11
 Git commit:        100c701
 Built:             Mon Jun  6 23:03:11 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      trueServer: Docker Engine - Community
 Engine:
  Version:          20.10.17
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.17.11
  Git commit:       a89b842
  Built:            Mon Jun  6 23:01:29 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.6
  GitCommit:        10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
 runc:
  Version:          1.1.2
  GitCommit:        v1.1.2-0-ga916309
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
 

2. 管理镜像

2.1 搜索镜像

docker search <名称>

2.2 拉取镜像

docker pull <镜像名称>,如 docker pull redis , 默认拉取最新版本 Redis

docker pull <镜像名称>:<版本>,增加版本编号可拉取制定版本

2.3 管理镜像

docker image <操作命令>

常用操作命令

build:通过 Dockerfile 构建镜像

ls:展示镜像列表

pull:从远程仓库拉取一个镜像

push:向远程仓库推送一个镜像

rm:删除一个或多个镜像

3. 管理容器

docker container <操作命令>

常用操作命令

ls:展示容器列表,默认展示运行中的。-a 展示全部 docker container ls -a

run:启动一个新的容器 (容器名称: --name 容器名称;绑定端口: -p 宿主机IP:容器内IP ,后台启动:-d)

restart:重启一个或多个容器, docker container restart 容器id

stop:停止一个或多个容器,docker container stop 容器id

kill:强制停止一个或多个容器,docker container kill 容器id

start:启动一个或多个已停止的容器,docker container start 容器id

rm:删除一个或多个容器,docker container rm 容器id

inspect:展示一个或多个容器的详细信息,docker container inspect 容器id

四、安装报错处理

报错信息:Error: Failed to download metadata for repo ‘epel’: Cannot download repomd.xml: Cannot download

[root@shangliang ~]# sudo yum install -y yum-utils
Extra Packages for Enterprise Linux 8 - x86_64  115  B/s | 196  B     00:01
Errors during downloading metadata for repository 'epel':
Status code: 404 for http://archives.fedoraproject.org/pub/archive/epel/8/Everything/x86_64/repodata/repomd.xml (IP: 38.145.60.24)
Error: Failed to download metadata for repo 'epel': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

解决方式:更新 YUM 源

#备份 repo 文件
mv /etc/yum.repos.d /etc/yum.repos.d.bak
​
#创建新的源文件目录
mkdir -p /etc/yum.repos.d
​
#下载新的 YUM 源
curl https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo > /etc/yum.repos.d/Centos-vault-8.5.2111.repo
curl https://mirrors.aliyun.com/repo/epel-archive-8.repo > /etc/yum.repos.d/epel-archive-8.repo

docker 部署

Dockerfile自定义镜像

我们可以从中央仓库下载一个镜像,也可以自己手动去制作一个镜像,需要通过Dockerfile去指定自定义镜像的信息
创建自定义镜像就需要创建一个Dockerfile文件,如下为Dockerfile的语言


FROM openjdk:17

COPY *.jar /app.jar

CMD ["--server.port=8080"]

EXPOSE 8080

ENTRYPOINT ["java","-jar","/app.jar"]

from: 指定当前自定义镜像依赖的环境
copy: 将相对路径下的内容复制到自定义镜像中
workdir: 声明镜像的默认工作目录
run: 执行的命令,可以编写多个
cmd: 需要执行的命令(在workdir下执行的,cmd可以写多个,只以最后一个为准)
举个例子,制作SSM容器镜像,而且ssm.war要放在Dockerfile的同级目录下
from daocloud.io/library/tomcat:8.5.15-jre8
copy ssm.war /usr/local/tomcat/webapps文章来源地址https://www.toymoban.com/news/detail-839186.html

docker 启动命令

docker run -d -p 8080:8080 --name mblog-latest-8080 mblog-latest

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

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

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

相关文章

  • 【Docker】Linux中使用Docker安装Nginx部署前后端分离项目应用

    目录 一、概述 1. Nginx介绍 2. Nginx优势 3. Nginx的工作原理 二、容器创建 1. Mysql容器 2. Tomcat容器 3. Nginx容器 每篇一获 Nginx(发音为 \\\"engine x\\\")是一个开源的、高性能的 HTTP 服务器和反向代理服务器。它也可以作为一个 IMAP/POP3/SMTP 代理服务器。Nginx 是由 Igor Sysoev 开发的,最

    2024年01月21日
    浏览(39)
  • Linux 环境下使用 Docker 部署 Java 项目教程

    1. 安装 Docker:首先在 Linux 系统上安装 Docker,可以参考 Docker 官方文档进行安装。 2. 构建 Docker 镜像:将 Java 项目打包成 Jar 文件,并编写 Dockerfile 文件,使用 Dockerfile 文件构建 Docker 镜像。 dockerfile 文件内容如下:    FROM openjdk:8-jdk-alpine    VOLUME /tmp    ADD your-project-name

    2024年02月09日
    浏览(25)
  • Linux 中使用 Docker 安装 Elasticsearch 及 Kibana

    查看当前运行的镜像及本地已经下载的镜像,确认之前没有安装过 ES 和 Kibana 镜像 从远程镜像仓库拉取 ES 镜像到本地 从远程镜像仓库拉取 Kibana 镜像到本地 查看本地仓库中的镜像 查看内存空间使用情况 创建后续挂载的文件夹 添加 elasticsearch.yml 配置 修改 /mydata/elasticsearch

    2024年04月16日
    浏览(40)
  • Linux(Centos7版本)安装docker 使用官方安装脚本,一键安装docker 发生报错解决方法

    Linux(Centos7版本)安装docker 使用官方安装脚本,一键安装docker 发生报错解决方法 使用官方安装脚本 也可以使用国内 daocloud 一键安装命令: 正在尝试其它镜像。 sh -c ‘yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo’ File “/usr/bin/yum-config-manager”, lin

    2024年02月01日
    浏览(47)
  • docker安装并使用国内源(Linux、Windows、macOS)

    Windows系统安装Docker并配置国内源 安装 Docker Desktop : 访问Docker官网(https://www.docker.com/products/docker-desktop)下载适用于Windows的Docker Desktop安装包并安装。 配置国内镜像源 : 在Docker Desktop中点击顶部菜单栏的“ whale icon - Preferences - Daemon”(Windows旧版本可能是“Settings”)。 在

    2024年04月22日
    浏览(25)
  • 如何在 Ubuntu Linux 上使用 SNAP 安装 Docker?

    Docker 是一种开源的容器化平台,它允许开发人员将应用程序和其依赖项打包到一个可移植的容器中,以便在不同的环境中运行。在 Ubuntu Linux 上,我们可以使用 SNAP(一种软件包管理系统)来安装和管理 Docker。本文将详细介绍如何在 Ubuntu Linux 上使用 SNAP 安装 Docker,并提供一

    2024年02月16日
    浏览(54)
  • Linux环境使用docker安装MySQL(简单粗暴,复制即用)

    –name指定容器名字 -v目录挂载 -p指定端口映射 -e设置mysql参数 -d后台运行 将以下内容复制到文本

    2024年01月17日
    浏览(26)
  • Linux aarch64架构中使用docker安装mysql8

    1、遇到问题: 官网下载mysql包,安装完成后,启动mysql一直显示-bash: ./mysqld: 无法执行二进制文件。 网上找了各种资料,但是都没有作用,怀疑自己操作姿势不正确,以为是自己包下错了(其实也是包不对),重新下载了不同的各种包,换了各种安装方法,发现仍旧启动不了

    2024年02月14日
    浏览(37)
  • LXC(Linux Containers)介绍、安装、使用及与Docker的区别与联系

    LXC是Linux容器(Linux Containers)的缩写,是一种轻量级的虚拟化技术,允许在同一主机上运行多个相互隔离的Linux容器,每个容器都有自己的完整的文件系统、网络、进程和资源隔离环境。LXC使用Linux内核提供的cgroups和命名空间(Namespaces)功能来实现容器隔离。 与传统的虚拟机

    2024年02月09日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包