Docker ~ 使用笔记

Docker

    • 认识Docker
    • 核心概念
    • 安装Docker
    • Docker命令
      • 容器生命周期管理命令
      • 容器操作命令
      • 容器rootfs命令
      • info|version
      • Dockerfile命令
    • Shell脚本自动化安装Docker

认识Docker

核心概念

安装Docker

Docker命令

容器生命周期管理命令

  • run
  • start/stop/restart
  • kill
  • rm
  • pause/unpause
  • create
  • exec

容器操作命令

  • ps
  • inspect
  • top
  • attach
  • events
  • logs
  • wait
  • export
  • port

容器rootfs命令

  • commit
  • cp
  • diff

镜像仓库

  • login
  • pull
  • push
  • search

本地镜像管理

  • images
  • rmi
  • tag
  • build
  • history
  • save
  • load
  • import

info|version

  • info
  • version

Dockerfile命令

命令 描述 示例
FROM 依赖的镜像名称 FROM openjdk:8-jdk-alpine
MAINTAINER 镜像创建者 MAINTAINER swyan<[email protected]>
ENV 声明环境变量 ENV APP cloud-memo-0.0.1-SNAPSHOT.jar
RUN 镜像构建过程中执行命令 RUN pwd && free -m
ADD 添加宿主机文件到容器里,有需要解压的文件会自动解压 ADD $APP /swyan/app/cloud-memo.jar
COPY 添加宿主机文件到容器里 COPY ["cloud-memo-0.0.1-SNAPSHOT.jar","/swyan/app/cloud-memo.jar"]
WORKDIR 指定上下文目录 WORKDIR /swyan/app
EXPOSE 容器内应用可使用的端口 EXPOSE 80 443 8001
CMD 容器启动后所执行的程序,Docker run后面跟启动命令会被覆盖掉 CMD ["java", "-jar", "/swyan/app/cloud-memo.jar"]
ENTRYPOINT 容器启动后所执行的程序,Docker run后面跟启动命令不会被覆盖掉 ENTRYPOINT ["java", "-jar", "/swyan/app/cloud-memo.jar"]
VOLUME 容器卷,将宿主机的目录映射到容器中的目录 VOLUME /swyan/app

Shell脚本自动化安装Docker

#!/usr/bin/env bash
begin_time=`date +%s`
# 创建所需目录
mkdir -p /swyan
# 修改主机名
hostname swyan
> /etc/hostname
echo "swyan" > /etc/hostname
# 查看系统内核版本
echo "kernel-release=>`uname -r`"
# yum更新所有包
yum update
# 如果有安装过docker,进行卸载,移除
yum remove -y docker \
            docker-client \
            docker-client-latest \
            docker-common \
            docker-latest \
            docker-latest-logrotate \
            docker-logrotate \
            docker-selinux \
            docker-engine
# 安装所需工具包
yum install -y yum-utils device-mapper-persistent-data lvm2
# 官方源地址
#yum-config-manager \
#    --add-repo \
#    https://download.docker.com/linux/centos/docker-ce.repo
# 清华大学源地址
#yum-config-manager \
#    --add-repo \
#    https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
# 阿里云源地址
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
# 安装社区版 19.03.12 版本的Docker
yum install -y docker-ce-19.03.12
# 开启Docker
systemctl start docker
# 设置开机启动Doctor
systemctl enable docker
echo "-------------docker-version-------------"
docker version
# 添加监听端口的docker.service文件覆盖原文件
/bin/cp -rf docker.service /usr/lib/systemd/system/docker.service
#添加  -H tcp://0.0.0.0:7375 -H unix:///var/run/docker.sock \
/bin/systemctl daemon-reload
service docker restart
echo "----------------------docker installed successfully!-----------------------"
echo "-------------Port<7375> opened to listen for remote publishing--------------"
echo "                                "
echo " _____      ___   _  __ _ _ __  "
echo "/ __\ \ /\ / / | | |/ _' | '_ \ "
echo "\__ \\\\ V  V /| |_| | (_| | | | |"
echo "|___/ \_/\_/  \__, |\__,_|_| |_|"
echo "               __/ |            "
echo "              |___/             "
echo "                                "
finish_time=`date +%s`
echo "Script run time:$((finish_time-begin_time))s"
read -p "Docker has been installed. Do you want to start the required container?[y/n]"
if [[ "y" = $REPLY ]]; then
    /bin/bash docker-run.sh
else
    echo "installed end!!!"
fi

你可能感兴趣的:(Docker)