【云原生 一】Docker 安裝部署

【云原生 一】Docker 安裝部署

【云原生 二】Harbor 镜像仓库部署

【云原生 三】K8S 环境部署

【云原生 四】NFS 服务搭建

【云原生 五】K8S StorageClass 部署安装

【云原生 六】K8S 集群下 kubesphere 云平台部署安装

 

一、准备工作

卸载旧版本遗留

sudo apt remove --purge docker docker-engine docker.io containerd runc

更新软件库

sudo apt update
sudo apt upgrade

安装docker依赖的软件

sudo apt install ca-certificates curl gnupg lsb-release apt-transport-https software-properties-common

添加Docker阿里GPG密钥

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

添加docker的阿里软件源

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

二、安装

安装docker

sudo apt install docker-ce docker-ce-cli containerd.io

安装指定版本:
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

sudo apt install install docker-ce-20.10.18 docker-ce-cli-20.10.18 containerd.io

启动docker

systemctl start docker 或者 service docker restart
#开机启动
systemctl enable docker.service

验证服务

systemctl status docker

image

配置加速镜像
修改 daemon.json 文件,添加镜像路径。可以登录自己的阿里云平台生成自己的镜像地址。

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

更加完整的配置文件如下(报错可以替换上面daemon.json):

{
  "exec-opts": [
      "native.cgroupdriver=systemd"
  ],
  "log-driver": "json-file",
  "log-opts": {
      "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "storage-opts": [
      "overlay2.override_kernel_check=true"
  ],
  "registry-mirrors" : [
      "https://xx.mirror.aliyuncs.com"
  ],
  "graph": "/data/docker"
}

相关路径

  • docker服务文件路径:/usr/lib/systemd/system/docker.service

  • docker配置文件:/etc/docker/daemon.json

  • docker数据路径:/var/lib/docker/

  • docker日志路径:/var/lib/docker/containers/{containerId}/{containerId}-json.log

三、Docker开启远程连接和Idea支持

开启支持远程连接:

编辑服务文件

vim /usr/lib/systemd/system/docker.service

在启动参数 ExecStart 值尾部增加“-H tcp://0.0.0.0:2375”,表示允许远程任何主机通过2375端口连接docker,端口可以自定义。如图

image

然后重启docker 服务

systemctl daemon-reload
systemctl restart docker

访问地址检查是否开放成功 http://{ip}:2375/version

image

在idea中配置docker:

在idea的配置菜单中配置,File -> Settings -> Build, Execution, Deployment -> Docker 设置docker服务地址后保存

image

在idea工具栏中的service中就可以找到docker服务,点击连接即可。

image

四、Dockerfile 文件

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。Dockerfile 的指令每执行一次都会新建一层。所以过多无意义的层,会造成镜像膨胀过大。

Dockerfile 文件示例:

FROM openjdk:8
MAINTAINER hewei<111@qq.com>
LABEL version="1.0" description="docker 镜像测试程序"
ENV TZ=Asia/Shanghai MYPATH=/bootAdmin
WORKDIR $MYPATH
RUN apt -y install vim tail
VOLUME /bootAdmin /bootAdmin
COPY ./target/boot-static-admin-0.0.1-SNAPSHOT.jar /boot-static-admin.jar
EXPOSE 8091
CMD java -jar boot-static-admin.jar

构建镜像命令:

docker build -f dockerfile名称 -t 新建的镜像名:TAG .

docker build -f Dockerfile -t app:v1 .

在idea中可以直接运行Dockerfile在远程docker服务上创建镜像和容器并启动

image

 

原创文章,转载或引用注明出处:https://www.cnblogs.com/hewei-blogs/articles/17733074.html

附录:Dockerfile 指令 说明

FROM	指定基础镜像,用于后续的指令构建。
MAINTAINER	指定Dockerfile的作者/维护者。(已弃用,推荐使用LABEL指令)
LABEL	添加镜像的元数据,使用键值对的形式。
RUN	在构建过程中在镜像中执行命令。
CMD	指定容器创建时的默认命令。(可以被覆盖)
ENTRYPOINT	设置容器创建时的主要命令。(不可被覆盖)
EXPOSE	声明容器运行时监听的特定网络端口。
ENV	在容器内部设置环境变量。
ADD	将文件、目录或远程URL复制到镜像中。
COPY	将文件或目录复制到镜像中。
VOLUME	为容器创建挂载点或声明卷。
WORKDIR	设置后续指令的工作目录。
USER	指定后续指令的用户上下文。
ARG	定义在构建过程中传递给构建器的变量,可使用 "docker build" 命令设置。
ONBUILD	当该镜像被用作另一个构建过程的基础时,添加触发器。
STOPSIGNAL	设置发送给容器以退出的系统调用信号。
HEALTHCHECK	定义周期性检查容器健康状态的命令。
SHELL	覆盖Docker中默认的shell,用于RUN、CMD和ENTRYPOINT指令。
posted @ 2023-09-27 16:42  蓝迷梦  阅读(55)  评论(0)    收藏  举报