Docker安装及操作

2023年 9月 25日 95.3k 0

Docker安装及操作

docker 安装:

文章:Ubuntu配置Docker

阿里云:Docker镜像源站

官方文档方法

Docker Docs

CentOS

Uninstall old versions

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

Set up the repository

sudo yum install -y yum-utils
## 设置为阿里云地址
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
## 官方地址
## sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Install Docker Engine

  • Install Docker Engine, containerd, and Docker Compose:
  • sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    
  • Start Docker:
  • sudo systemctl start docker
    
  • Verify that the Docker Engine installation is successful by running the hello-world image:
  • sudo docker run hello-world
    

    设置自启动

    sudo systemctl enable docker
    

    Ubuntu

    Uninstall old versions

    for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
    

    Install using the Apt repository

  • Set up Docker's Apt repository
  • # Add Docker's official GPG key:
    sudo apt-get update
    sudo apt-get install ca-certificates curl gnupg
    sudo install -m 0755 -d /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    sudo chmod a+r /etc/apt/keyrings/docker.gpg
    
    # Add the repository to Apt sources:
    echo \
      "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
      "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update
    
  • Install the Docker packages
    To install the latest version, run:
  • sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    
  • Verify that the Docker Engine installation is successful by running the hello-world image.
  • sudo service docker start
    sudo docker run hello-world
    

    设置自启动

    sudo systemctl enable docker
    

    docker-compose 单独安装

    使用官方文档方法已经安装docker-compose,无需单独安装,使用命令为docker compose

    centos7

    在CentOS 7上安装docker-compose的步骤如下:
    1.安装所需要的包

    sudo yum install epel-releasesudo yum install -y python-pip
    

    2.安装docker-compose

    sudo pip install docker-compose
    

    3.检查docker-compose版本:

    docker-compose --version
    

    4.如果你要运行docker-compose命令,需要使用sudo
    5.如果你不想每次都使用sudo,可以将当前用户加入docker用户组。

    sudo usermod -aG docker $USER
    

    6.重新登录或重启电脑后就可以直接使用docker-compose了.

    ubuntu22.04

    apt install docker-compose
    

    docker 容器操作:

    docker启动与停止

    • 创建并启动一个容器
    docker run –d –p 5000:80 --name=test --restart=always hellodocker
    

    docker run: 表示创建并启动一个容器,而后面的hellodocker就表示要启动运行的镜像名称
    -d:表示容器启动时在后台运行
    -p 5000:80:表示将容器内暴露的80端口映射到宿主机指定的5000端口
    1 --name=test:表示为创建后的容器指定名称为test
    2 --restart=always 容器自动运行
    单杠为指令缩写名(部分支持)双杠为指令全名,其他指令可运行docker run --help查看

    • 停止运行中的容器
    docker stop xxx
    
    • 启动已终止的容器
    docker start xxx
    
    • 修改容器相关属性
    docker update --restart=always 容器ID(或者容器名)
    

    此处修改容器自启动,其他操作同理

    • 进入容器
    docker exec -it 容器ID(或者容器名) bash
    

    可通过 docker exec --help 查看其他属性操作

    Dockerfile构建镜像

    • Dockerfile文件内容示例
    FROM openjdk:8-jdk-alpine #基础镜像
    ADD ./zuul.jar /app/demo.jar #添加文件
    EXPOSE 9999 #暴露端口
    CMD ["java","-Xmx200m","-jar","/app/demo.jar"] #执行命令
    
    • docker build -t 构建带tag镜像
    docker build -t name:1.0 .
    

    docker-compose

    • docker-compose.yml文件内容示例
    version: "3"
    services:
      eureka-server:
        image: 192.168.1.107:5000/lab-eureka:1.0 #拉取的镜像
        restart: on-failure
        ports:
          - 8761:8761
        networks:
          - microservice-net
    networks:
      microservice-net:
    volumes:
      microservice-mysql:
    

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论