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 #绑定一个卷
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 #运行镜像在后台