docker — 安装与使用

docker — 安装与使用

一、docker安装

1. Linux

参考资料:

1.0 先决条件
  1. yum 包更新到最新:

    sudo yum update
    
  2. 设置 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
        
      • 清华大学源:

        sudo yum-config-manager \    --add-repo \    https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
        
  3. 卸载旧版本:

    • 较旧的Docker版本称为 dockerdocker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项,如果yum报告未安装这些软件包,则可以。现在将Docker Engine软件包称为 docker-ce

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

Linux系统中 docker 安装,有三种方式:

  • 存储库安装:设置 Docker 的存储库并从中安装,便于安装和升级任务。这是推荐的方法。
  • 下载 RPM 包、手动安装、手动管理升级:适合在无法访问 Internet 的系统上安装 Docker 等情况下很有用。
  • 便利脚本:适合在测试和开发环境中来安装 Docker。
1.1 存储库安装
  1. 设置存储库:

    # 安装yum-utils包(提供yum-config-manager 实用程序)
    sudo yum install -y yum-utils
    
    # 设置稳定的存储库
    sudo yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    
  2. 安装 Docker 引擎(Docker Engin)

    • 方式1:下载最新的Docker Engin

      sudo yum install docker-ce docker-ce-cli containerd.io
      
    • 方式2:安装 特定版本 的 Docker Engin

      • 查看仓库中的可用版本:

        yum list docker-ce --showduplicates | sort -r
        
      • 特点版本 Docker Engin 下载安装:
        通过其完整的软件包名称安装特定版本:该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。

        例如:docker-ce-18.09.1。

        # 命令规则
        # sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
        
        # 例如
        sudo yum install docker-ce-18.09.1 docker-ce-cli-18.09.1 containerd.io
        
  3. 启动并加入开机启动

    sudo systemctl start docker
    
    sudo systemctl enable docker
    
  4. 权限设置:

    • 执行 docker 命令需要为 root 用户,或者 非root 用户操作 docker 时候需要加 sudo

    • 避免 非root 每次都要加 sudo,可将非root用户添加到用户组中,命令如下:

      # 将非root用户添加到用户组
      sudo usermod -aG docker 【非root用户】
      
    • 查看是否添加成功:

      cat /etc/group
      

      在这里插入图片描述

    • 重启docker 服务:

      sudo systemctl restart docker
      
    • 查看非root用户是否可以直接使用docker命令:

      docker  info
      

      如果提示get …dial unix /var/run/docker.sock权限不够,则修改/var/run/docker.sock权限

      sudo chmod a+rw /var/run/docker.sock
      
  5. 验证安装是否成功:

    有client和service两部分表示docker安装启动都成功了

    docker version
    
1.2 离线包安装
1.3 自动安装

在测试和开发环境中,一些用户选择使用自动 [便利脚本],在生成环境中不建议。

  1. 使用官方安装脚本自动安装,安装命令如下:

    get.docker.com下载脚本 并运行它以在 Linux 上安装最新的稳定版本的 Docker:

    curl -fsSL https://get.docker.com -o get-docker.sh
    
    sudo sh get-docker.sh
    
  2. 也可以使用国内 daocloud 一键安装命令:

    curl -sSL https://get.daocloud.io/docker | sh
    

2. windows

  • 参考资料:https://www.cnblogs.com/joyny/p/10486682.html

二、修改 docker 路径

此章节主要介绍修改 docker 的默认镜像和容器的位置

参考资料:

  • https://blog.csdn.net/u013948858/article/details/78424115
  1. 查看docker信息:

    包含了docker的磁盘路径等

    $ docker info
    

三、远程访问

参考:https://www.cnblogs.com/zoujiaojiao/p/13277862.html

1. docker 设置

1. 编辑vi /lib/systemd/system/docker.service	修改以ExecStart开头的行:   	因为我的系统是centos 7的,所以修改为下面的:        ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock	如果是centos7以下的话,就把ExecStart修改为:    ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:23752. 修改后保存文件,然后通知docker服务做出的修改	systemctl daemon-reload3. 重启docker服务	service docker restart	4. 配置完成,访问效果如下:	http://192.168.142.63:2375/info

2. 防火墙设置

  1. 服务器防火墙配置:

    开启防火墙

    https://www.cnblogs.com/xxoome/p/7115614.html

  2. docker远程端口

    开启2375端口:

    firewall-cmd --add-port=2375/tcp --permanentfirewall-cmd --reloadfirewall-cmd --zone=public --list-ports
    
  3. 服务器配置安全组:

    • 来源:0.0.0.0/0

    • 端口:

      • tcp:2375

或者直接关闭防火墙:

  • 参考:https://jingyan.baidu.com/article/ff42efa9fd8c1cc19e2202bb.html

四、阿里容器服务

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

五、修改镜像位置

(一) windows

  • 参考:https://blog.csdn.net/pentiumCM/article/details/117963518

六、管理容器和镜像

参考资料:

  • 删除镜像容器:

    https://blog.csdn.net/qq_26709459/article/details/80785761

1. 常用命令

  • 查看所有容器:docker ps -a

  • 查看运行中容器:docker ps -a

  • 查看镜像:docker images

  • 删除容器:docker rm 容器id

  • 删除镜像:docker rmi 镜像id

  • 停用全部运行中的容器:docker stop $(docker ps -q)

  • 删除全部容器:docker rm $(docker ps -aq)

  • 一条命令实现停用并删除容器:

    docker stop $(docker ps -q) & docker rm $(docker ps -aq)

  • 删除所有镜像:

    docker rmi `docker images -q`
    

2. 镜像操作

  1. 新建 Dockerfile 文件

    Dockerfile 内容如下:

    FROM nginxRUN echo '这是一个本地构建的nginx镜像' > /usr/share/nginx/html/index.html
    
  2. 构建镜像:

    docker build -t nginx:v3 .
    
  3. 启动镜像:

    docker run -p 本机映射端口:镜像映射端口 -d --name 启动镜像名称 -e 镜像启动参数 镜像名称:镜像版本号

七、Dockerfile

参考:https://www.cnblogs.com/panwenbin-logs/p/8007348.html

1. 介绍

Dockerfile 是一个用来 构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

2. 基本结构

Dockerfile 一般分为四部分

  • 基础镜像信息:

    FROM:指定基础镜像,必须为第一个命令

    格式:	FROM <image>	FROM <image>:<tag>	FROM <image>@<digest>示例:  	FROM mysql:5.6注:	tag或digest是可选的,如果不使用这两个值时,会使用latest版本的基础镜像
    
  • 维护者信息:

    MAINTAINER: 维护者信息

    格式:    MAINTAINER <name>示例:    MAINTAINER Jasper Xu    MAINTAINER sorex@163.com    MAINTAINER Jasper Xu <sorex@163.com>
    
  • 镜像操作指令:

    以在Docker文件中使用 RUNCMDFROMEXPOSEENV 等指令。

    • RUN:构建镜像时执行的命令
    • ADD:将本地文件添加到容器中,tar类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wget
    • COPY:功能类似ADD,但是是不会自动解压文件,也不能访问网络资源
    • CMD:构建容器后调用,也就是在容器启动时才进行调用。
    • ENTRYPOINT:配置容器,使其可执行化。配合CMD可省去"application",只使用参数。
    • ENV:设置环境变量
    • EXPOSE:指定于外界交互的端口
    • VOLUME:用于指定持久化目录
  • 容器启动时执行指令

dockerfile

2. 例子:

**以定制一个 nginx 镜像为例:**
  1. 在一个空目录下,新建一个名为 Dockerfile 文件,

    并在文件内添加以下内容:

    FROM nginxRUN echo '这是一个本地构建的nginx镜像' > /usr/share/nginx/html/index.html
    
  2. FROM 和 RUN 指令的作用:

    FROM:定制的镜像都是基于 FROM 的镜像,这里的 nginx 就是定制需要的基础镜像。

    后续的操作都是基于 nginx。

    RUN:用于执行后面跟着的命令行命令。有以下俩种格式:

    • shell 格式:

      RUN <命令行命令># <命令行命令> 等同于,在终端操作的 shell 命令。
      
    • exec 格式:

      RUN ["可执行文件", "参数1", "参数2"]# 例如:# RUN ["./test.php", "dev", "offline"] 等价于 RUN ./test.php dev offline
      
  3. 构建镜像:

    在 Dockerfile 文件的存放目录下,执行构建动作。

    以下示例,通过目录下的 Dockerfile 构建一个 nginx:v3(镜像名称:镜像标签)。

    $ docker build -t nginx:v3 .

八、docker-compose

1. 介绍

docker-compose.yml包含version、services、networks 3大部分

  • services的书写规则:

    services:	web:        		# 服务名称,用户自定义	build:		context: ./jeecg-boot-module-system	image: busybox    # 镜像名称/镜像ID,如果本地不存在compose会拉取镜像       # 以下格式都可   	images: redis    	images: mysql:latest   	images: example-registry.com:4000/postgresql
    
  • build:

    基于Dockerfile,指定Dockerfile所在路径,Compose会利用它自动构建镜像,然后启动服务容器

    # 绝对路径build: /path/build# 相对路径build:./build# 设定上下文跟目录,以此目录指定Dockerfilebuild:    context: ../    dockerfile: path/Dockerfile# 给Dockerfile构建的镜像命名build: ./dirimages: nginx:latest
    

2. docker-compose 安装

https://blog.csdn.net/ytangdigl/article/details/103831739

  • Docker Compose安装

    官网安装步骤地址:https://docs.docker.com/compose/install/#install-compose1、安装Run this command to download the latest version of Docker Composesudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose2、赋权Apply executable permissions to the binary:sudo chmod +x /usr/local/bin/docker-compose3、# 将文件copy到 /usr/bin/目录下sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose4、测试(查看版本)Test the installationsudo docker-compose --version
    

3. docker-compose 部署 springboot

https://blog.csdn.net/xiaoguaishou_520/article/details/105216002

4. docker-compose 挂载容器里面的目录到宿主机

volumes:  - ./app:/mnt/app

这样本地的当前宿主机目录下的 app 这个目录里的东西,跟容器里的 /mnt/app 这个目录就是同步的了。

九、docker 私仓

1. 阿里云仓库

https://cr.console.aliyun.com/repository/cn-hangzhou/docker-pentiumcm/trmis/details

  1. 将镜像推送到Registry:

    • $ sudo docker login --username=pentiumcm_n registry.cn-hangzhou.aliyuncs.com

    • $ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/docker-pentiumcm/trmis:[镜像版本号]

    • $ sudo docker push registry.cn-hangzhou.aliyuncs.com/docker-pentiumcm/trmis:[镜像版本号]

十、docker权限

添加docker权限给用户

https://blog.csdn.net/liangllhahaha/article/details/92077065

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker是一种开源的容器化平台,它可以帮助开发者将应用程序及其依赖项打包成一个独立的容器,以便在不同的环境中进行部署和运行。下面是Docker安装使用步骤: 1. 安装Docker:首先,你需要在你的操作系统上安装DockerDocker支持多个操作系统,包括Windows、macOS和Linux。你可以访问Docker官方网站(https://www.docker.com/)下载并安装适合你操作系统的Docker版本。 2. 配置Docker安装完成后,你需要配置Docker。在Windows和macOS上,Docker会自动启动,并在系统托盘中显示一个图标。在Linux上,你可能需要手动启动Docker服务。 3. 验证安装:打开终端或命令提示符,运行以下命令来验证Docker是否成功安装: ``` docker version ``` 4. 获取镜像Docker使用镜像来创建容器。你可以从Docker Hub(https://hub.docker.com/)上获取各种镜像,也可以自己构建镜像。例如,你可以使用以下命令获取一个名为"ubuntu"的Ubuntu镜像: ``` docker pull ubuntu ``` 5. 运行容器使用以下命令来运行一个容器: ``` docker run -it ubuntu ``` 这将在一个交互式终端中启动一个基于Ubuntu镜像容器。 6. 使用容器:一旦容器启动,你可以在容器内执行各种操作,就像在一个独立的虚拟机中一样。你可以安装软件、运行命令等。当你退出容器时,容器将停止运行。 7. 管理容器:你可以使用各种Docker命令来管理容器。例如,使用以下命令列出正在运行的容器: ``` docker ps ``` 使用以下命令停止一个容器: ``` docker stop <container_id> ``` 8. 清理资源:当你不再需要某个容器时,可以使用以下命令删除它: ``` docker rm <container_id> ``` 如果你不再需要某个镜像,可以使用以下命令删除它: ``` docker rmi <image_id> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值