Docker安装与基础命令

简介

Docker CE是免费的Docker产品的新名称,Docker CE包含了完整的Docker平台,非常适合开发人员和运维团队构建APP。

Docker Hub:https://hub.docker.com/
Docker官网:https://www.docker.com/
下载地址:https://mirrors.aliyun.com/docker-ce/
Docker介绍:https://www.cnblogs.com/hwlong/p/9158982.html

配置方法

CentOS 7(使用yum进行安装)

# 1. 安装必要的一些系统工具
yum -y install yum-utils device-mapper-persistent-data lvm2
# 2. 添加软件源信息
yum-config-manager --add-repo=http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 3. 修改配置文件
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# 4. 更新并安装Docker-ce
yum makecache fast
yum -y install docker-ce
# 5. 开启Docker,并添加开机自启
systemctl start  docker && systemctl enable docker

注:如果是普通用户需要命令前加sudo,前提是需要用户在wheel组里

安装校验

docker version
Client: Docker Engine - Community
 Version:           20.10.12
 API version:       1.41
 Go version:        go1.16.12
 Git commit:        e91ed57
 Built:             Mon Dec 13 11:45:41 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.12
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.12
  Git commit:       459d0df
  Built:            Mon Dec 13 11:44:05 2021
  OS/Arch:          linux/amd64
  Experimental:     false

配置Docker镜像加速

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker

# 如何获取阿里云加速地址:登录到阿里云 --> 控制台 --> 左上角三道线 --> 容器镜像服务 --> 镜像加速器

Docker基础命令

docker version        # 查看docker版本
docker info           # 查看docker详情
docker --help         # 查看docker帮助

镜像相关

docker search image[:version] (centos:7)       # 搜索镜像
docker pull image[:version] (centos:7)         # 下载镜像
docker push image[:version]                    # 上传镜像
docker images                                  # 查看本地镜像
docker rmi image[:version]/imageID             # 删除镜像
docker save -o centos.tar centos:7             # 将镜像导出到本地
docker load < centos.tar                       # 导入镜像
docker load --input centos.tar
docker tag centos:7 centos:test                # 给镜像打标签

容器相关

docker ps                                      # 查看当前运行的容器
docker ps -a                                   # 查看所有容器(包含已停止)
docker start containerName/containerID         # 启动容器
docker stop containerName/containerID          # 停止容器
docker [un]pause containerName/containerID     # 挂起容器/取消挂起
docker create -it --name=containerName         # 创建容器,但不运行
docker rm [-f] containerName/containerID       # 删除容器 -f强制删除

# 创建并运行容器
## 交互式(进入容器)
docker run -it --name=containerName image[:version]
## 守护式(后台运行,不进容器)
docker run -id --name=containerName image[:version]
# 进入容器(exit退出容器)
docker exec -it containerName/containerID /bin/bash
# 批量删除容器
docker rm -f `docker ps -qa`
docker ps -qa | xargs rm -f

编写一个脚本,此脚本可任意切换容器

vim /usr/local/sbin/docker-enter
#!/bin/sh
if [ -e $(dirname "$0")/nsenter ]; then
  # with boot2docker, nsenter is not in the PATH but it is in the same folder
  NSENTER=$(dirname "$0")/nsenter
else
  NSENTER=nsenter
fi
if [ -z "$1" ]; then
  echo "Usage: `basename "$0"` CONTAINER [COMMAND [ARG]...]"
  echo ""
  echo "Enters the Docker CONTAINER and executes the specified COMMAND."
  echo "If COMMAND is not specified, runs an interactive shell in CONTAINER."
else
  PID=$(docker inspect --format "{{.State.Pid}}" "$1")
  if [ -z "$PID" ]; then
    exit 1
  fi
  shift
  OPTS="--target $PID --mount --uts --ipc --net --pid --"
  if [ -z "$1" ]; then
    # No command given.
    # Use su to clear all host environment variables except for TERM,
    # initialize the environment variables HOME, SHELL, USER, LOGNAME, PATH,
    # and start a login shell.
    "$NSENTER" $OPTS su - root
  else
    # Use env to clear all host environment variables.
    "$NSENTER" $OPTS env --ignore-environment -- "$@"
  fi
fi
chmod +x /usr/local/sbin/docker-enter 

容器内操作,容器内最小化安装,很多命令用不了

# 检测其命令是属于哪个软件包yum provides命令
yum provides ip
iproute-4.11.0-25.el7_7.2.x86_64 : Advanced IP routing and network device configuration
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值