当前位置:服务器 > > 正文

docker安装教程图解(Docker在线、离线安装及其常用命令操作)

时间:2022-01-14 02:23:10类别:服务器

docker安装教程图解

Docker在线、离线安装及其常用命令操作

一、测试环境

名称 版本
centos 7.6
docker 18.09.06

二、在线安装

这里采用yum源命令安装前期准备的依赖包,包括yum-utils、device-mapper-persistent-data、lvm2

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

因为官方镜像仓库网速较慢,在此设置阿里云镜像代理,以便快速下载、上传镜像。

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

接下来安装Docker-CE 社区版,通过以下命令查看docker社区版安装包列表。如下图所示各docker版本信息。

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

docker安装教程图解(Docker在线、离线安装及其常用命令操作)

选择对应版本安装docker

sudo yum install docker-ce.x86_64

启动

sudo systemctl enable docker

sudo systemctl start docker

验证:查看版本信息命令,出现下图时表明安装成功。

docker version

docker安装教程图解(Docker在线、离线安装及其常用命令操作)

三、离线安装

提供以下三种方式下载docker离线安装包

Docker官方地址:docker down

1.百度云下载地址:  https://pan.baidu.com/s/1tZpsOvY0wmCfwHXlNJuq8Q 提取码: rhaq

2.有网服务器执行命令下载:wget https://download.docker.com/linux/static/stable/x86_64/docker-18.09.6.tgz

3.官方参考文档:https://docs.docker.com/install/linux/docker-ce/binaries/#install-static-binaries

将已下载好的docker离线包拷贝到服务器,解压压缩包

tar -xvf docker-18.09.6.tgz

将解压出来的docker文件内容移动到 /usr/bin/ 目录下

cp docker/* /usr/bin/

注册编辑docker服务

vim /etc/systemd/system/docker.service

写入以下内容后保存

  • [Unit]
    Description=Docker Application Container Engine
    Documentation=https://docs.docker.com
    After=network-online.target firewalld.service
    Wants=network-online.target
     
    [Service]
    Type=notify
    # the default is not to use systemd for cgroups because the delegate issues still
    # exists and systemd currently does not support the cgroup feature set required
    # for containers run by docker
    ExecStart=/usr/bin/dockerd
    ExecReload=/bin/kill -s HUP $MAINPID
    # Having non-zero Limit*s causes performance problems due to accounting overhead
    # in the kernel. We recommend using cgroups to do container-local accounting.
    LimitNOFILE=infinity
    LimitNPROC=infinity
    LimitCORE=infinity
    # Uncomment TasksMax if your systemd version supports it.
    # Only systemd 226 and above support this version.
    #TasksMax=infinity
    TimeoutStartSec=0
    # set delegate yes so that systemd does not reset the cgroups of docker containers
    Delegate=yes
    # kill only the docker process, not all processes in the cgroup
    KillMode=process
    # restart the docker process if it exits prematurely
    Restart=on-failure
    StartLimitBurst=3
    StartLimitInterval=60s
     
    [Install]
    WantedBy=multi-user.target
    
    
    
  • 添加权限后启动

    chmod +x /etc/systemd/system/docker.service

    重新加载配置文件

    systemctl daemon-reload

    启动Docker

    systemctl start docker

    设置开机自启

    systemctl enable docker.service

    验证是否安装成功

    systemctl status docker

    docker -v

    **

    四、常用命令(搜索、下载本地未有镜像需要联网)

    **

    搜索镜像,

    #docker search 镜像名称

    docker search java

    docker安装教程图解(Docker在线、离线安装及其常用命令操作)

    下载镜像

    #docker pull 镜像名称

    docker pull java

    docker安装教程图解(Docker在线、离线安装及其常用命令操作)

    查看已下载的镜像

    docker images

    docker安装教程图解(Docker在线、离线安装及其常用命令操作)

    删除镜像

    删除单个镜像:docker rmi 镜像名称

    删除所有镜像:docker rmi -f $(docker images)

    操作容器

    使用docker run命令可新建并启动一个容器,例如使用java镜像启动:docker run java /bin/echo 'Hello World'

    其它启动可选附带参数:

    -d 选项:表示后台运行

    -P 选项:随机端口映射

    -p 选项: 指定端口映射,有以下四种模式:

    ① ip:hostPort:containerPort

    ② ip::containerPort

    ③ hostPort:containerPort

    ④ containerPort

    实例测试Nginx容器

    docker run --name nginxTest -d -p 91:80 nginx

    说明:docker 启动容器时,本地无该容器时会自动从Docker Hup下载引用

    -d #后台运行

    -p #宿主机端口:容器端口 #开放容器端口到宿主机端口

    –name #自定义容器名称

    浏览器访问http://服务器ip:91 ,如果出现Nginx主页则表示启动成功。

    查看容器状态

    查看正在运行容器详情 docker ps

    查看所有容器详情 docker ps -a

    docker安装教程图解(Docker在线、离线安装及其常用命令操作)

    – CONTAINER ID #容器ID

    – IMAGE #镜像

    – CREATED #创建时间

    – STATUS #状态 Up代表正在运行,Exited 表示已停止运行

    – PORTS #端口

    – NAMES #容器名称

    查看容器日志

    格式:docker logs -f -t --tail 行数 容器名 或者 docker logs -f -t --tail 行数 容器ID

    docker logs -f -t --tail 200 483a128fdb39

    停止容器

    docker stop 容器ID 或 docker stop 容器名称

    强制停止容器

    docker kill 容器ID

    启动已停止的容器

    docker start 容器ID

    重启容器

    docker restart 容器ID

    进入容器

    (1)使用docker attach 命令进行容器,有多窗口操作会同步显示和阻塞问题。

    docker attach 容器ID

    (2)使用nsenter进入容器

    docker inspect --format "{{.State.Pid}}" 容器ID #查询出pid

    nsenter --target 查询的pid --mount --uts --ipt --net --pid

    (3) 推荐 使用docker exec 命令,该命令在1.3.x版本之后提供。

    docker exec -it 容器ID /bin/bash

    查看容器详情

    docker inspect 容器ID

    删除容器

    docker rm 容器ID

    #该命令不可删除正在运行的容器,要执意删除加-f 参数

    打包镜像为离线包

    docker save -o 文件名.tar 镜像名称

    加载离线镜像包

    docker load < 文件名.tar

    使用Dockerfile构建Docker镜像

    以上面创建的Nginx为例,创建dockerfiler文件

    touch Dockerfile

    编辑dockerfiler文件

    vim Dockerfile

    填入以下内容

  • FROM nginx
    #添加进入docker容器后的目录(可以不填)
    WORKDIR /opt/hello
    
    RUN echo '<h1>Hello World!</h1>' > /usr/share/nginx/html/index.html
    
    
  • 在Dockerfile所在路径执行以下命令

    docker build -t nginx:my .

    启动一个docker容器

    docker run -d -p 92:80 nginx:my

    当然也可指定配置文件路径

    docker run -d -p 92:80 -v /u01/hello/config:/opt/hello/config nginx:my

    说明:-d 后台运行,-p 对外暴露端口:内部端口 -v linux文件路径:容器内路径 --name 容器昵称 启动的镜像:版本号

    之后只需要在linux 下的/u01/hello/config修改配置,重启容器加载。

    浏览器访问http://ip:92 ,可看到“Hello World!”信息。

    以上这篇Docker在线、离线安装及其常用命令操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。

    标签:
    上一篇下一篇

    猜您喜欢

    热门推荐