K8S
一、docker
安装docker
1、卸载docker
remove docker *
2、切换到管理员用户
su do root
3、安装依赖
yun install -y yum-utils
4、配置docker的源地址
sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5、安装docker
sudo yum install -y docker-ce docker-ce-cli containerd.io #docker-ce是docker的社区版,docker-ee是企业版需要付费 #docker-ce-cli 是docker的脚手架,用于daocker的命令行 #containerd.io是daocker容器的初始化 #以下是在安装k8s的时候使用 yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6
###安装指定版本的docker时在docker-ce后边加上-版本号
6、启动docker
systemctl enable docker --now
7、配置镜像加速的地址(用于快速的拉取docker镜像)
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://o2wpcbk0.mirror.aliyuncs.com"],#此位置换成服务器合适的地址 "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" } EOF sudo systemctl daemon-reload sudo systemctl restart docker
####至此docker的安装完成,接下来可以从docker的软件市场拉取docker镜像
docker市场拉取软件镜像
网址:hub.docker.com
docker pull nginx #此种方式拉取的软件是最新版本 #想要找软件的指定版本:去镜像标签下搜索想要的版本号 docker pull nginx:版本号 #查看所有镜像 docker images #删除镜像 docker rmi 镜像名:版本号
启动容器
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] #run命令的 【docker run 设置项 镜像名】 启动命令(一般不会写) #-d 后台运行 #开机自启:--restart=always #端口映射:-p 88:80 【端口映射之后需要在阿里云服务器上设置防火墙规则】 docker run --name=mynginx -d --restart=always -p 88:80 nginx #删除已经停止的应用 docker rm 容器id #强制删除命令 docker rm f 容器名 #查看所有容器 docker ps -a #停止容器 docker stop 容器id #再次启动 docker start 容器id #修改容器设置 docker update 容器名 设置项
进入容器里边修改内容
docker exec -it 容器id /bin/bash cd 想要的目录 #直接修改文件中的内容 echo "<h1>Welcome To M&Ls Home</h1>" >index.html #挂载数据到外部修改【挂载之后的数据不能推到远程从仓库】 #在容器外部修改容器内的内容 #需要rm掉正在运行的容器,重新启动时添加设置项【-v 主机目录名:容器中的路径:ro(容器中只读)/rw(读写)】 docker run --name=mynginx -d --restart=always -p 88:80 -v /data/html:/usr/share/nginx/html:ro nginx #多行命令分割 docker run --name=mynginx \ -d --restart=always \ -p 88:80 -v /data/html:/usr/share/nginx/html:ro \ nginx ######这之后需要保证主机的此目录下有这个文件,如果此目录下是空那么容器下就是空###### #挂在之后想要修改只需要在主机的挂载目录中修改
提交改变
docker commit --help Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] docker commit 设置项 -a "作者" -m "改变的内容描述" 容器ID/容器名 hnginx:v1.0 #优点:当应用挂掉之后为了找回之前的应用设置,可以直接启动commit之后的容器
镜像传输
#保存成文件设置:-o 默认的是tar文件 docker save -o nginx.tar #将镜像变成实体文件,进行物理传输 #完成两台服务器之间的文件传输 scp nginx.tar 主机名(root@127.0.0.0:/root/...) #在别的机器加载 docker load -i nginx.tar
传输的远程仓库(docker hub)
#需要先在hub.nginx.com注册自己的nginx账号 docker tag 本地镜像 仓库名:版本 #推送之前需要登录 docker login docker push 仓库名:版本 #推送完成之后退出(建议) docker logout
其他常用命令
#查看容器日志 daocker logs 容器id/名称 #进入到容器中 docker exec -it 容器名/id /bin/bash #docker 修改应用的配置文件(以nginx为例) docker run -d -p 80:80 \ -v /data/html:/usr/share/nginx/html:ro \ #先挂载页面 -v /data/conf/nginx.conf:/etc/nginx/nginx.conf \ --name mynginx \ #【指定名称】 nginx #【启动的是哪一个镜像】 #####此处会出现问题,解决方法如下##### #因为容器中已经有了nginx的配置文件nginx.conf,所以我们可以选择将容器中的配置文件先复制到我们想要挂载的文件目录下 #docker cp 容器id:配置文件所在的目录 需要复制到的目录全路径 docker cp 5eff66eec7e1:/etc/nginx/nginx.conf data/conf/nginx.conf
</