Centos 7 下 Docker + K8S 的安装及常用指令

admin
2021-03-04 / 0 评论 / 62 阅读 / 正在检测是否收录...

1.删除服务器中原本安装的docker

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.安装yum-utils

yum install -y yum-utils device-mapper-persistent-data lvm2

3.为yum源添加docker仓库位置

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

4.yum安装docker

yum install -y docker-ce docker-ce-cli containerd.io

5.设置docker开机自启

systemctl start docker
systemctl enable docker

6.常用命令

# 1.查看容器状态
docker ps
docker ps -a

# 2.进入容器
docker exec -it mysql(名字或者ID) /bin/bash 

# 3.镜像自启动
docker update redis --restart=always
docker update mysql --restart=always

# 4.搜索镜像
docker search java

# 5.下载镜像
docker pull java:8

# 6.列出镜像
docker images

# 7.删除镜像
 - 指定名称删除镜像:docker rmi java:8
 - 指定名称删除镜像(强制):docker rmi -f java:8
 - 删除所有没有引用的镜像:docker rmi `docker images | grep none | awk '{print $3}'`
 - 强制删除所有镜像:docker rmi -f $(docker images)

# 8.打包镜像
 - -t 表示指定镜像仓库名称/镜像名称:镜像标签 .表示使用当前目录下的Dockerfile文件
docker build -t mall/mall-admin:1.0-SNAPSHOT .

# 9.推送镜像
 - 登录Docker Hub
docker login
 - 给本地镜像打标签为远程仓库名称
docker tag mall/mall-admin:1.0-SNAPSHOT macrodocker/mall-admin:1.0-SNAPSHOT
 - 推送到远程仓库
docker push macrodocker/mall-admin:1.0-SNAPSHOT

# 10.停止容器
docker stop nginx

# 11.启动容器
docker start nginx

# 12.删除指定容器
docker rm nginx

# 13.查看容器全部日志
docker logs nginx

# 14.动态查看容器日志
docker logs -f nginx

# 15.查看容器的IP地址
docker inspect --format '{{ .NetworkSettings.IPAddress }}' nginx

# 16.修改容器的启动方式,将容器启动方式改为always
docker container update --restart=always nginx

# 17.同步宿主机时间到容器
docker cp /etc/localtime nginx:/etc/

# 18.指定容器时区
docker run -p 80:80 --name nginx \
-e TZ="Asia/Shanghai" \
-d nginx:1.17.0

# 19.查看容器资源占用状况,
 - 查看指定容器资源占用状况,比如cpu、内存、网络、io状态:docker stats nginx
 - 查看所有容器资源占用情况:docker stats -a

# 20.查看容器磁盘使用情况
docker system df

# 21.使用root账号进入容器内部
docker exec -it --user root $ContainerName /bin/bash

# 22.查看所有网络
docker network ls

# 23.创建外部网络
docker network create -d bridge my-bridge-network

# 24.指定容器网络
docker run -p 80:80 --name nginx \
--network my-bridge-network \
-d nginx:1.17.0

# 25.查看Docker镜像的存放位置:
docker info | grep "Docker Root Dir"

# 26.查看Docker占用的磁盘空间情况:
docker system df

# 27.删除所有关闭的容器:
docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm

# 28.删除所有dangling镜像(没有Tag的镜像):
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

# 29.删除所有dangling数据卷(即无用的 volume):
docker volume rm $(docker volume ls -qf dangling=true)

7.配置镜像加速器

针对Docker客户端版本大于 1.10.0 的用户您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

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

8.Docker创建镜像一些指令

指令举例:

docker run \
 --detach \
 -p 8443:443 \
 -p 8090:80 \
 -p 9922:22 \
 -v /mydata/gitlab/etc:/etc/gitlab \
 -v /mydata/gitlab/log:/var/log/gitlab \
 -v /mydata/gitlab/data:/var/opt/gitlab \
 --privileged=true \
 --name gitlab \
 gitlab/gitlab-ce

-v:将宿主机上的文件挂载到宿主机上,格式为:宿主机文件目录:容器文件目录;

-i: 以交互模式运行容器,通常与 -t 同时使用命令解释:

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用

-d: 后台运行容器,并返回容器ID

-p: 8090:80 将容器内80端口映射至宿主机9980端口,这是访问gitlab的端口

-p: 9922:22 将容器内22端口映射至宿主机9922端口,这是访问ssh的端口

--restart always 容器自启动

--privileged=true 让容器获取宿主机root权限

--name gitlab设置容器名称为gitlab

gitlab/gitlab-ce 镜像的名称,这里也可以写镜像ID

9.安装补全工具

yum install -y bash-completion
2

评论

博主关闭了当前页面的评论
百大云