csjoz11

导航

Docker的安装

离线安装Docker系统

https://blog.csdn.net/qq_44858888/article/details/124084408

 

//代换空格

sed -i 's/\r$//' install.sh

第一步:下载docker离线包

https://download.docker.com/linux/static/stable/x86_64/docker-20.10.6.tgz

补充,也可以从https://download.docker.com/linux/static/stable/网址下载指定版本

第二步:下载离线安装工具

https://github.com/Jrohy/docker-install/

第三步:将下载好的资源放在一个目录,例如:

 第四步:在linux环境下,创建/root/setup/docker目录,然后拷贝下载好的资源到此目录(可通过MobaXterm工具直接上传到linux目录),例如 

 第五步:执行安装操作

①# 进入/root/setup/docker 文件夹

指令:

cd /root/setup/docker

②# 为 install.sh添加执行权限

指令:

chmod +x install.sh

③# 安装

./install.sh -f docker-20.10.6.tgz

安装成功后,会出现如下信息:

     
    Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
    docker 20.10.6 install success!

第六步:安装成功以后,检查安装状态 

指令:

docker info

在线安装Docker系统

第一步:安装一组工具

sudo yum install -y yum-utils 

第二步:设置 yum 仓库地址

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

第三步:更新 yum 缓存

sudo yum makecache fast #yum 是包管理器

第四步:安装新版 docker

sudo yum install -y docker-ce docker-ce-cli containerd.io

第四步:安装成功以后,检查安装状态 

 指令:

docker info

Docker服务基本操作
启动docker服务

 systemctl start docker

查看Docker状态

查看docker是否启动了,是否是运行状态

systemctl status docker

设置Docker开机自启

systemctl enable docker

禁用Docker开机自启

systemctl disable docker

重新启动Docker服务

 systemctl restart docker

查看Docker信息

docker info

查看docker info中具体key的信息,例如:

docker info | grep 'Docker Root Dir:'

停止docker服务

systemctl stop docker

Docker镜像加速

由于国内网络问题,需要配置加速器来加速。修改配置文件 /etc/docker/daemon.json

下面命令直接生成文件 daemon.json,直接在命令行执行即可

    cat <<EOF > /etc/docker/daemon.json
    {
      "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn",
        "http://hub-mirror.c.163.com"
      ],
      "max-concurrent-downloads": 10,
      "log-driver": "json-file",
      "log-level": "warn",
      "log-opts": {
        "max-size": "10m",
        "max-file": "3"
        },
      "data-root": "/var/lib/docker"
    }
    EOF

补充:在执行如上指令时,保证你的登录用户为root管理员用户,并且设置好以后重启docker服务

Docker镜像操作实践

本章节操作以hello-word镜像为例
下载镜像

语法:docker pull 镜像名
案例:(下载一个名为hell-word的镜像)

docker pull hello-world

浏览镜像文件

语法:

docker images

查看镜像详情

语法:

docker inspect 镜像名或镜像id

例如:查看一个名为hello-word的镜像

docker inspect hello-world

查看镜像历史

一个镜像是由多个层(layer)组成的,那么,我们要如何知道各个层的具体内容呢?通过 docker history 命令,可以列出各个层(layer)的创建信息,

例如:查看hello=word的历史信息(查看镜像进行了什么操作,等。。。)

docker history hello-world

导出镜像文件

镜像导出(linux系统中的镜像文件下载到本地-例如window),导出后给他人使用

语法:docker save hello-world | gzip >(这里填写要导出的镜像名).tar.gz

docker save  hello-world | gzip > hello-world.tar.gz  

删除镜像文件

语法:docker image rm 镜像名或镜像id

例如:删除一个名为hello-word的镜像

docker image rm hello-world

导入镜像操作

镜像导入(要在hello-world.tar.gz 文件所在目录下执行这个命令)*注意*这里的hello-world.tar.gz 文件是我们要导入的镜像,这里以hello-world.tar.gz 文件为例。

docker load < hello-world.tar.gz  

运行镜像文件

基于镜像,启动容器运行。

语法:docker run 镜像名

docker run hello-world

Docker 容器操作实践

本次以CentOS镜像为例,讲解容器的基本操作。
下载镜像(Image)

通过docker pull指令下载CentOS镜像,例如

docker pull centos:7

说明,官方镜像仓库地址为https://hub.docker.com/

下载完以后,查看centos7镜像文件。

docker images

创建并启动容器(Container)

基本语法解析:

docker run -it xxxx bash

*语法解析*
1)xxxx - :镜像名, 或 image id 的前几位,
2)-it :这是两个参数(-i表示交互式操作, -t 表示终端)
3) bash :表示进入操作终端,基于交互式进行相关操作(例如执行linux相关指令)。

案例:通过docker启动运行 centos7镜像

docker run -it centos:7 bash

在这里插入图片描述
 查看Docker中的容器(Container)

查看docker运行中的容器(要在宿主机执行docker指令)

docker ps

说明,假如在容器中执行docker指令会出现如下问题,例如:

 

查看docker运行中的所有容器

docker ps -a

*解释*-a表示全部(all)
查看容器日志(logs)信息

查看容器启动运行日志时,这个指令非常重要,假如容器没有启动,要通过此指令去看一下错误日志。

docker container logs 802  #802为自己的容器id(一般写前三位即可)

说明,查看容器的运行日志时,容器应该处于一种运行状态.
停止(stop)或重启(Restart)容器(Container)

停止运行的容器,代码如下:

docker container stop 802  #802为容器自己的id

重新启动容器,代码如下:

docker container restart 802 #802位容器自己的id

进入(exec)指定容器(Container)

当容器处于运行状态,要进入容器,可以使用 docker exec 命令,例如:

docker exec -it 802 bash #802为容器id

说明,假如容器处于一种非运行状态,此时你执行docker exec进入容器会出现如下问题:

 从容器(Container)中退出(exit)

假如从宿主机进入了启动的容器,退出容器需要使用exit指令,例如:

exit

删除(rm)容器(Container)

假如容器不用了,可执行删除操作,例如:

docker container rm 802 #802为容器id

说明,假如容器正在运行执行删除,会出现如下问题,例如:

 其中,如果删除运行中的容器,需要添加 -f 参数执行强制删除,例如:

docker container rm -f 802 #802为容器id

清理所有处于终止状态容器,例如:

docker container prune

说明,执行完这个指令以后,可以通过docker ps -a 再查看容器,看看是否有删除

posted on 2023-02-19 18:50  csjoz11  阅读(123)  评论(0编辑  收藏  举报