看版本:
cat /etc/redhat-release
检查安装gcc相关:
ping www.baidu.com
yum -y install gccyum -y install gcc-c++
却载旧版本:
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
安装需要的软件包:
yum install -y yum-utils device-mapper-persistent-data lvm2
设置stable镜像仓库:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新yun软件包索引:
yum makecache fast安装docker ce:
yum -y install docker-ce
启动docker:
systemctl start docker
测试:
docker versiondocker run hello-world
docker images
配置镜像加速:
mkdir -p /etc/dockervim /etc/docker/daemon.json {"registry-mirrors":["http://hub-mirror.c.163.com"}
systemctl daemon-reload
systemctl restart docker
卸载:
systemctl stop dockeryum -y remove docker-ce
rm -rf /var/lib/docker
检查docker环境:
docker -v
删除docker:
停止docker:
systemctl stop docker删除docker文件:
apt-get autoremove docker dockerd ctr docker-proxy docker-init containerd containerd-shim runc docker-ce docker-engine docker.iorm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker
检查是否删除干净:
dpkg -l | grep docker若有结果,则继续执行删除操作
在线安装docker:
安装docker:
apt-get install docker.io启动docker:
systemctl start docker设置开机自启:
systemctl enable docker若不是root用户,将此用户加入到docker组中:
sudo usermod -a -G docker ${USER}刷新用户加入到docker组:
newgrp docker
查看docker信息:
docker info
镜像tar解压:
docker load < [tar包]
列出本地主机镜像:
docker images
-a:列出本地所有的镜像(含中间映像层)
-q:只显示镜像ID
-digests:显示镜像的摘要信息
-no-trunc:显示完整的镜像信息
查询镜像:
docker search 某个xxx镜像名字
-no-trune:显示完整的镜像描述
-s:列出收藏数不小于指定值的镜像
--automated:只列出automated build类型的镜像
下载镜像:
docker pull 某个xxx镜像名字:[TAG]
删除镜像:
docker rmi 某个xxx镜像名字D
刪除多个:docker rmi -f 镜像名1:TAG 镜像名2:TAG
删除全部:docker rmi -f $(docker images -qa)
新建并启动容器:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS:
-name="容器新名宁":为容器指定一个名称
-d:后台运行容器,并返回容器ID,也即启动守护式容器
-i:以交互模式运行容器,通常与-t同时使用
-t:为容器重新分配一个伪输入终端,通常与-i同时使用
-P:随机端口映射
-p:指定端口映射,有以下四种格式
ip:hostPort:containerPortip:containerPort
hostPort:containerPort
containerPort
ls -alh /.dockerenv
列出当前所有正在运行的容器:
docker ps [OPTIONS]
-a:列出当前所有正在运行的容器+历史上运行过的
-I:品示最近创建的容器
-n:鼎示最近n个创建的容器
-q:静态模式,只显示容器编号
--no-trunc:不截断输出#字段说明
CONTAINER ID:容器的ID号
IMAGE:加载的镜像
COMMAND :运行的程序
CREATED :创建时间
STATUS:当前的状态
PORTS:端口映射
NAMES:名称退出客器:
exit 容器停止退出
ctrl+P+Q:容器不停止退出
启动容器:
docker start 容器ID或者容器名
停止容器:
docker stop 容器ID或者容器名
强制停止容器:
docker kill 容器ID或者容器名
删除已停止的容器:
docker rm 容器ID
一次性删除多个容器:
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm查看容器ip地址:
docker inspect 容器id
进入运行着的容器:
#需要进入容器进行命令操作时,可以使用 docker exec 命令进入运行着的容器。
#格式:docker exec -it 容器ID/名称 /bin/bash
-i 选项表示让容器的输入保持打开;
-t 选项表示让 Docker 分配一个伪终端。#示例:进入(三种方式)
docker run -itd centos:7 /bin/bash #先运行容器
docker ps -a
①使用run进入,可以使用ctrl+d退出,直接退出终端
docker run -it centos:7 /bin/bash②想永久性进入,退出后还是运行状态,用docker exec
docker ps -a
docker exec -it b99e0771c4e1 /bin/bash③docker attach,会通过连接stdin,连接到容器内输入输出流,公在输入exit后终止容器进程(临时性的,不推荐)
EMQX:
获取 Docker 镜像:
docker pull emqx/emqx:5.0.26
启动 Docker 容器:
docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:5.0.26
NPS:
获取 Docker 镜像:
docker pull ffdfgdfg/nps
启动 Docker 容器:
docker run --net=host --name nps_server -d ffdfgdfg/nps