docker命令、容器挂载、镜像制作、docker compose、docker私有仓库

服务相关命令

-- 开启docker
systemctl start docker
-- 关闭docker
systemctl stop docker
-- 查看docker状态
systemctl status docker
-- 重启
systemctl restart docker
-- 开机启动docker
systemctl enable docker

镜像相关命令

-- 查看镜像
docker images
-- 搜索镜像 以redis为例
docker search redis
-- 特定版本 docker search redis:5.0
-- 拉取镜像
docker pull redis
-- 删除镜像
docker rmi redis

容器相关命令

-- 查看容器
--  查看正在运行的容器
docker ps
--  查看所有容器
docker ps -a   

-- 创建容器
--  -i 保持容器一直运行,一般容器没有客户端连接就会关闭
--  -t 给容器分配一个终端
--  -d 后台运行容器,需要手动进入,而且exit不会关闭容器,通过 ‘’ 进入容器
--  --name=c1,给容器起一个名为c1的名字
docker run -i -t --name=c1 镜像名称[:版本] [进入容器的初始化指令]

-- 进入容器
docker exec -it 容器名称

-- 退出容器
exit

 

容器的数据卷

  •  配置数据卷

// 挂载多个时,写多个-v
docker run -it --name=c1 -v  /root/data:/root/data_redis redis
  • 数据卷容器

通过一个中间容器进行挂载

其中/volumes为容器的目录,如果挂载时不写左边宿主机的目录,则系统会自动分配一个

 部署示例

 镜像制作

  •  容器转为镜像

  • dockerfile制作自己的镜像

 

  • 示例
from 基于的环境
maintainer 作者
[run linux中需要安装的程序的命令]
// 如 apt install [-y] pytorch
// -y表示安装过程中弹出的选项的选择
workdir /usr      // 默认工作目录 
[add 打包的程序]
cmd 通过命令行执行打包程序的命令
docker build -f dockerfile的路径 -t 新镜像的名称:自定义版本号 .
//docker build -f dockerfile ./springboot_dockerfile -t app .

docker compose

  • 安装Docker Compose

# Compose目前已经完全支持Linux、Mac OS和Windows,在我们安装Compose之前,需要先安装Docker。下面我 们以编译好的二进制包方式安装在Linux系统中。 
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 设置文件可执行权限 
chmod +x /usr/local/bin/docker-compose
# 查看版本信息 
docker-compose -version
  • 卸载Docker Compose

# 二进制包方式安装的,删除二进制文件即可
rm /usr/local/bin/docker-compose
  • 使用docker compose编排nginx+springboot项目  示例

    • 创建docker-compose目录
mkdir ~/docker-compose
cd ~/docker-compose
    • 编写 docker-compose.yml 文件
version: '3'
services:
  nginx:
   image: nginx
   ports:
    - 80:80
   links:
    - app
   volumes:
    - ./nginx/conf.d:/etc/nginx/conf.d
  app:
    image: app
    expose:
      - "8080"
    • 创建./nginx/conf.d目录
创建./nginx/conf.d目录
    • 在./nginx/conf.d目录下 编写itheima.conf文件
server {    listen 80;    access_log off;​    location / {        proxy_pass http://app:8080;    }   }
    • 在~/docker-compose 目录下 使用docker-compose 启动容器
在~/docker-compose 目录下 使用docker-compose 启动容器
    • 测试访问
http://192.168.149.135/hello

docker私有仓库

  •  私有仓库搭建
# 1、拉取私有仓库镜像 
docker pull registry
# 2、启动私有仓库容器 
docker run -id --name=registry -p 5000:5000 registry
# 3、打开浏览器 输入地址http://私有仓库服务器ip:5000/v2/_catalog,看到{"repositories":[]} 表示私有仓库 搭建成功
# 4、修改daemon.json   
vim /etc/docker/daemon.json    
# 在上述文件中添加一个key,保存退出。此步用于让 docker 信任私有仓库地址;注意将私有仓库服务器ip修改为自己私有仓库服务器真实ip 
{"insecure-registries":["私有仓库服务器ip:5000"]} 
# 5、重启docker 服务 
systemctl restart docker
docker start registry
  • 将镜像上传至私有仓库

# 1、标记镜像为私有仓库的镜像     
docker tag centos:7 私有仓库服务器IP:5000/centos:7
 
# 2、上传标记的镜像     
docker push 私有仓库服务器IP:5000/centos:7
  • 从私有仓库拉取镜像

#拉取镜像 
docker pull 私有仓库服务器ip:5000/centos:7

 

posted @ 2023-07-04 17:33  WTSRUVF  阅读(49)  评论(0编辑  收藏  举报