docker 常用命令
docker ps // 查看所有正在运行容器
docker restart <容器 ID>
docker stop containerId // containerId 是容器的ID
docker ps -a // 查看所有容器
docker ps -a -q // 查看所有容器ID
docker stop $(docker ps -a -q) // stop停止所有容器
docker rm $(docker ps -a -q) // remove删除所有容器
安装Nginx:
访问 Nginx 镜像库地址: Docker Hub
docker search nginx
pull image:
docker pull nginx:latest
运行nginx:
docker run --name nginx-test -p 8080:80 -d nginx
docker stop nginx-test
进入容器:
docker exec -it nginx /bin/bash
删除容器:
docker rm -f 1e560fca3906
查看端口影射:
docker port nginx
查看logs输出:
docker logs nginx
检查:
docker inspect nginx
安装redis bloom
docker search rebloom
docker pull redislabs/rebloom
docker run -itd --restart=always --name redis-rebloom -p 6379:6379 redislabs/rebloom
docker exec -it redis-rebloom /bin/bash
container里安装vim
docker exec -it nginx /bin/bash
apt update
apt-get install -y vim
docker-compose
docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
docker-machine
docker-machine
base=https://github.com/docker/machine/releases/download/v0.16.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/usr/local/bin/docker-machine &&
chmod +x /usr/local/bin/docker-machine
镜像加速
登录阿里云,找到个人的加速地址
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
Kubernetes
在Mac中安装了Docker之后,会自动安装了Kubernetes,正常情况下,我们只需要在Docker的Preferrences->Kubernetes中勾选Enable Kubernetes,然后点击Apply按钮即可。但由于伟大的墙的存在,这么一个简单的启动也会变得一波三折。
如果您是直接在Docker中启用Kubernetes,Kubernetes的状态会一直都是kubernetes is starting...,原因是有一些Kubernetes依赖的镜像不能正常的下载。Github上有个开源项目可以帮我们手动拉取镜像,执行下面命令拉去改项目代码到本地
git clone https://github.com/maguowei/k8s-docker-for-mac(不区分版本,我的环境无效)
参考阿里云的脚本, 不同k8s版本,配置不一样
https://github.com/AliyunContainerService/k8s-for-docker-desktop
git checkout v1.16.5
./load_images.sh
#通过docker desktop应用日志获得实时日志信息:
pred='process matches ".*(ocker|vpnkit).*"
|| (process in {"taskgated-helper", "launchservicesd", "kernel"} && eventMessage contains[c] "docker")'
/usr/bin/log stream --style syslog --level=debug --color=always --predicate "$pred"
配置k8s
可选操作: 切换Kubernetes运行上下文至 docker-desktop (之前版本的 context 为 docker-for-desktop)
kubectl config use-context docker-desktop
验证 Kubernetes 集群状态
kubectl cluster-info
kubectl get nodes
k8s控制台
kubectl create -f kubernetes-dashboard.yaml
kubectl get pod -n kubernetes-dashboard
#开启 API Server 访问代理
kubectl proxy
访问测试 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
配置token
TOKEN=$(kubectl -n kube-system describe secret default| awk '$1=="token:"{print $2}')
kubectl config set-credentials docker-for-desktop --token="${TOKEN}"
echo $TOKEN
如下图: