Linux安装部署Docker

1. docker

    1.1 install

        yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
        yum makecache fast
        # 安装
        yum -y install docker-ce docker-ce-cli containerd.io
        # 卸载
        yum remove docker-ce docker-ce-cli containerd.io


    1.2 image

        # 查找镜像(建议去hub.docker.com 直接搜,更直观)
        docker search image_name

        # 拉取镜像 如果不指定标签,会下载最新
        命令语法:docker pull imagename:tag
        docker pull centos:7
        docker pull centos
        docker pull centos:latest

        # 查看本地镜像
        docker images

        # 删除镜像 可以同时删多个
        docker rmi image_ID

        # 删除所有镜像
        docker rmi `docker images -q`


    1.3 container

        # 查看容器
        docker ps
        # 启动容器
        docker start docker_id
        # 停止容器
        docker stop docker_id
        # 容器的文件copy到宿主机上(不是在容器内执行)
        语法:docker cp 容器名称:容器目录 需要拷贝的文件或目录
        docker cp  20fd8:/home/lqz.txt /home/lqz.txt
        # 宿主机的文件copy到容器中
        语法:docker cp 需要拷贝的文件或目录 容器名称:容器目录
        docker cp ./lqz.txt 20fd894a3f20:/home/lqz.txt
        docker inspect 容器名称  # 查看容器的详细描述,很多
        docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(容器ID)

        # 查看容器IP地址
        docker inspect 容器名称  # 查看容器的详细描述,很多
        docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(容器ID)
        # 删除容器(删除已停止的容器)
        docker rm 容器id
        docker rm `docker ps -a -q`
        # 查看正在运行的容器
        """
        -a 参数是查看所有容器
        -l 参数是查看最后一次运行的容器
        """
        docker ps
        docker ps -a
        docker ps -l

        # 运行容器
        """
        把镜像运行成容器其实是两个命令create和run
        会有很多参数,下面回详细的介绍每一个参数
        -i:表示运行容器
        -t:表示容器启动后会进入容器命令行
        -d:会创建一个守护式容器在后台运行
        --name :为创建的容器命名,如果不写,随机生成一个名字
        -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录)
        -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口
        """
        # 运行容器的核心命令其实就是docker run,此外会有很多参数
        docker run
        # 启动一个centos容器,名字叫mycentos,并且进入
        docker run -it --name=mycentos centos:7
        # 启动一个centos容器,名字叫mycentos,不进入
        docker run -id  centos:7
        # 启动容器
        docker start mycentos
        # 进入到容器内部(本质是让容器执行命令)
        语法: docker exec 容器id 命令
        docker exec f82e8578b9b1 ls # 可以查看该容器内部的内容
        docker exec -it  f82e8578b9b1 /bin/bash  # 进入到容器内部
        # 退出
        exit
        # -v参数:目录映射
        docker run -id --name=mycentos -v /home/mycentos:/mycentos centos:7
        # -p参数:端口映射、netstat -nlp |grep 80  查看本机80端口占用情况
        docker run -id --name=mysql -p 80:3306  -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

        # 部署 portainer

      docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock:z --privileged --restart=always --name portainer portainer/portainer-ce

2. Dockerfile

    FROM 基础镜像                        # 基于哪个基础镜像来构建
    MAINTAINER mire                     # 声明镜像的创建者
    ENV key value                       # 设置环境变量 (可以写多条)
    RUN command                         # 是Dockerfile的核心部分(可以写多条)
    ADD source_dir/file dest_dir/file   # 将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
    COPY source_dir/file dest_dir/file  # 和ADD相似,但是如果有压缩文件并不能解压
    WORKDIR mire                        # 设置工作目录,运行这个容器需要来到这个路径

    CMD:添加启动容器时需要执行的命令。多条只有最后一条生效。可以在启动容器时被覆盖和修改。
    ENTRYPOINT:同CMD,但这个一定会被执行,不会被覆盖修改。
    MLABELAINTAINER:表明镜像的作者。将被遗弃,被LABEL代替。
    EXPOSE:设置对外暴露的端口。
    ARG:设置只在构建过程中使用的环境变量,构建完成后,将消失
    COPY:将本地文件或目录拷贝到镜像的文件系统中。
    VOLUME:添加数据卷
    USER:指定以哪个用户的名义执行RUN, CMD 和ENTRYPOINT等命令
    ONBUILD:如果制作的镜像被另一个Dockerfile使用,将在那里被执行Docekrfile命令
    STOPSIGNAL:设置容器退出时发出的关闭信号。
    HEALTHCHECK:设置容器状态检查。
    SHELL:更改执行shell命令的程序。Linux的默认shell是[“/bin/sh”, “-c”],Windows的是[“cmd”, “/S”, “/C”]。


3. docker-compose

    3.1. 安装

          yum install -y epel-release
          yum install -y python-pip
          yum install -y docker-compose
          docker-compose -version

    3.2 容器管理命令

        # 启动管理容器(常用命令)
        docker-compose up  # 会自动搜索当前路径下的 docker-compose.yml文件
        docker-compose -f 指定文件 up
        docker-compose up -d  # 后台执行,一般我们看日志输出,不用这个
        docker-compose stop  # 停止,不会删除容器和镜像
        docker-compose down # 停止,并删除关联的容器
        docker-compose start  # 启动yml文件管理的容器
        docker-compose ps    # 正在运行的容器 被docker-compose管理的容器
        docker-compose images # docker-compose管理的镜像
        docker-compose exec yml文件中写的service /bin/bash  # 进入到容器内

安装 Docker: 1. 首先,需要卸载旧版本的 Docker(如果已安装),可以使用以下命令卸载: ``` sudo apt-get remove docker docker-engine docker.io containerd runc ``` 2. 更新 apt 包索引: ``` sudo apt-get update ``` 3. 安装 Docker 的依赖包: ``` sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common ``` 4. 添加 Docker 的官方 GPG 密钥: ``` curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - ``` 5. 添加 Docker 的 APT 仓库: ``` sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" ``` 6. 更新 apt 包索引: ``` sudo apt-get update ``` 7. 安装 Docker: ``` sudo apt-get install docker-ce docker-ce-cli containerd.io ``` 8. 验证 Docker 是否安装成功: ``` sudo docker run hello-world ``` 安装 Docker Compose: 1. 下载 Docker Compose 的二进制文件: ``` sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose ``` 此处下载的是 Docker Compose 1.28.5 版本,如果需要安装其他版本,可以在下载链接中更改版本号。 2. 添加可执行权限: ``` sudo chmod +x /usr/local/bin/docker-compose ``` 3. 验证 Docker Compose 是否安装成功: ``` docker-compose --version ``` 如果成功安装,会输出 Docker Compose 的版本信息。 现在,DockerDocker Compose 已经成功安装
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值