Docker的配置

Docker的配置

Created: 2024年11月30日 13:12
Tags: Doc, docker, ubantu

1.Docker的安装

ubantu以例

1-1 安装依赖

sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

1-2 添加Docker的官方GPG密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

1-3 添加Docker软件包源

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

1-4安装Docker

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

1-5 验证安装

docker --version
sudo docker run hello-world

1-6 配置开机启动

sudo systemctl start docker
sudo systemctl enable docker

1-7 配置加速镜像

参考文档 https://gist.github.com/y0ngb1n/7e8f16af3242c7815e7ca2f0833d3ea6

1-7-1 创建文件 路径 /etc/docker/daemon.json 输入

{
    "registry-mirrors": [
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]
}

1-7- 重启Docker使配置生效

sudo systemctl daemon-reload
sudo systemctl restart docker

2.Docker基础命令

2-1 查看容器

docker ps #查看运行中的容器
docker ps -a #查看所有容器

2-2 下载镜像

例如使用Max KB的Docker

2-2-3 使用命令来拉起

docker run -d --name=maxkb --restart=always -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data -v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages cr2.fit2cloud.com/1panel/maxkb
#参数
-d #后台运行
-p #随机端口映射
-P #指定端口映射
--name="name" #容器命名
-v #绑定一个卷

image.png

2-3 停止容器

docker stop <id> #停止
#例
docker stop 1801e20d9cbc

2-4 启动容器

docker start <id> #启动一个容器

2-5 删除容器

#先停止后删除
docker rm <id> #删除容器

2-6 导入出tar镜像

2-6-1 导出

docker load <文件>

2-6-2 导出

docker save <id>

2-7 进入shlle

docker exec -it <id> bash

3.Docker制作镜像

以node.js为例

3-0 准备步骤

3-0-1 创建一个文件夹

mkdir <文件夹名称> #创建一个文件夹

3-0-2 安装node.js

sudo apt install -y curl #安装必要的工具
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - #添加 NodeSource 的 APT 源
sudo apt install -y nodejs #安装node.js
node -v #验证安装
npm -v

3-0-3 创建node项目

#剩下的看自己

3-1 创建一个docker配置文件并写入

3-1-1 创建Dockerfile

vim Dockerfile #创建一个Dockerfile

3-1-2 写入配置

FROM node:18-alpine3.15 #引入基础镜像(nodejs18版本 系统alpine3.15)
WORKDIR /projects #指定工作目录
COPY package.json . #复制package.json
RUN npm install #运行命令安装依赖
COPY . .
EXPOSE 50001 #指定端口号
CMD ["node","app.js"] #执行命令(数组空格)

3-1-3 设置排除配置文件

vim .dockerignore #创建.dockerignore
<文件夹名> #排除创建的文件夹
Dockerfile #排除Dockerfile
.dockerignore #排除.dockerignore

3-4 构建镜像并运行

3-4-1 构建镜像

docker build -t damesck233/nodetest . #构建当前文件夹的镜像

3-4-2 查看是否构建成功

docker images #查看是否构建成功
#将镜像推送到Docker Hub
docker login #登陆dockerhub
docker push damesck233/nodetest的 
#下载镜像到本地
docker pull

3-4-3 运行镜像

docker run -d -p 3000:3000 --name nodetest damesck233/nodetest #运行镜像在后台
无标签
评论区
头像