【docker】docker使用

1:进入ubuntu容器中更新源报错:Error in the certificate verification

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2、数据卷

# 命令
docker run -itd --name [容器名字] -v [容器目录] [镜像名称] [命令(可选)]

# 创建和使用
docker run --v 容器目录 -dit --name 容器名 centos /bin/bash

# 查看
docker volume ls

# 删除
docker volume rm 数据卷id

在这里插入图片描述

3、数据卷容器

# 数据卷容器创建的数据卷类型是bind, 是挂载, 
# 用于多个容器和宿主机共享同一个文件或文件夹,

01、方法1

# 正常创建容器的方式创建数据卷容器, 创建的是一个具有数据卷的容器
# 这个容器可用

# 命令
docker run -itd --name [容器名字] -v [宿主机目录]:[容器目录] [镜像名称] [命令(可选)]

# 使用
docker run --v 宿主机目录:容器目录 -dit --name 容器名 centos /bin/bash

02、方法2

# 这种方式创建的数据卷容器无法启动

docker create -v /app/logs:/data --name  数据卷容器名字   镜像名字

在这里插入图片描述

03、使用

# 使用 --volumes-from引用来自"数据卷名字"的数据卷映射
docker run --volumes-from 数据卷容器名 -dit --name 容器名 centos /bin/bash

# 删除, 删除容器的方式删除数据卷容器
docker rm 数据卷名字

4、私有仓库

01、使用docker私有仓库报错

Get https://192.168.1.115:5000/v2/: http: server gave HTTP response to HTTPS client
# 解决:
# 创建 daemon.json文件
vim /etc/docker/daemon.json

# 写入私有仓库地址
{"registry-mirrors": ["http://74f21445.m.daocloud.io"], "insecure-registries": ["192.168.1.115:5000"]}

5、Dockerfile和docker-compose部署

1、不要将Dockerfile中的WORKDIR  设置的和  docker-compose.yml中的volumes 中的路径相同

01、容器部署前端服务器live-server

# node、live-server 需要建立软连接到 /usr/bin 目录下, 否则命令找不到
ln -s   node命令的路径    /usr/bin//node
ln -s live-server命令的路径 /usr/bin/live-server

1、Dockerfile

FROM 192.168.1.115:5000/ubuntu_live_server:v1.3  
WORKDIR /root
CMD ["live-server" ,"./pythonDocs"]

2、docker-compose

version: "2"
services:
  service_pythondocs:
    build: .
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "5"
        compress: "true"
    volumes:
      - /opt/docs1:/root/pythonDocs
      - /etc/localtime:/etc/localtime:ro
    network_mode: "host"
    expose:
      - "xxxx"
    ports:
      - "xxxx:xxxx"

问题及解决

1、docker权限问题

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json: dial unix /var/run/docker.sock: connect: permission denied

解决:

将当前用户加入docker组:
sudo gpasswd -a ${USER} docker

加入用户组需要一些时间,大概1分钟后切换为普通用户即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值