docker

what is docker

采用了容器概念,本质上每个容器都是一台vm.但相对于vm,性能需求更低.
Docker 只是一个管理这些容器的平台,因此您可以轻松构建不同的特定环境。

容器

容器包括应用程序运行的所有库和工具。容器的作用是将这些应用程序与应用程序的库和工具一起打包在容器中,这样它就可以在任何地方运行,而不必依赖宿主的环境。
同时也能隔绝不同环境之间的干扰.

用户docker安装(root与非root)

refering

图形化docker管理工具

安装
docker的端口是:9000
后台地址为 192.168.33.4:9000
居然是不需要https://的...如果把地址写成https://192.168.33.4:9000,访问不了
中文portainer

问题:

  1. Docker Compose stuck downloading or pulling fs layer
    描述:0bad1d247b5b: Pulling fs layer ,某一个哈希值一直下载不出来restart也没有用
    想起来一件事,没有对docker进行换源 换源
    1
    2
    service restart docker.service
    docker info
    牢记,linux系统一般都是要进行镜像换源的
  2. 安装汉化portainer
    安装教程 报错教程
    1. 下载文档问题 用wget命令就行了…
    2. 一个报错
      1
      Error response from daemon: Conflict. The container name "/portainer" is already in use by container "9226aa8941ce67663089515cb68f462a90654642fbb2c7a72b8e57253dea7f48". You have to remove (or rename) that container to be able to reuse that name.
      原因是我本来就下载了一个英文版本的portainer,汉化并非是汉化补丁,而是直接安装一个中文版本的portainer,因此出现了命名冲突.删除掉原来的portainer就行了
      1
      2
      docker stop portainer
      docker rm portainer

镜像拉取

refering
利用docker pull,从docker hub 中获取镜像

1
2
3
4
5
$ docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
# docker pull ubuntu:18.04
# 地址没有给出,使用默认的Docker Hub(docker.io) 仓库名字为library/ubuntu(library为默认) 标签为18.04
# docker pull zhayujie/chatgpt-on-wechat
#

如果出现pull latest问题,可能是因为镜像站还没有更新导致的,指定之前版本的标签就行了.
1
2
3
4
5
6
docker pull zhayujie/chatgpt-on-wechat
default:latest
# 没有进度的
# 换成
docker pull zhayujie/chatgpt-on-wechat:1.3.2
# 搞定

docker 的文件结构

refering

1
2
3
4
5
# 进入docker 目录  
cd /var/lib/docker
ls
# 出现名叫containers与image的文件
# containers有容器的序列号 image有镜像信息

docker compose

Docker Compose 是用于定义和运行多容器Docker 应用程序的工具。 在Compose 中,可以使用YAML 文件来配置应用程序的服务。
Docker Desktop for Mac/Windows 自带 docker-compose 二进制文件,安装 Docker 之后可以直接使用。
https://cloud.tencent.com/developer/article/2348142
https://cloud.tencent.com/developer/article/1942706

dockers容器大赏