Docker 安装与使用

文章目录

    • 1. 安装 docker
    • 2. 安装 registry
    • 3. registry 使用
    • 4. 安装 portainer
    • 5. 安装 mysql

  • VMware 安装 CentOS 7.6

1. 安装 docker

  • Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。
  • 本文介绍 Docker CE 的安装使用。
  • 卸载旧版本。较旧版本的Docker被称为docker或docker-engine。如果已安装这些,请卸载它们以及相关的依赖项。
sudo yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine
  • 使用存储库安装。在新主机上首次安装Docker Engine - Community之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。
  • 设置存储库,安装所需的包。yum-utils提供了yum-config-manager 效用,并device-mapper-persistent-data和lvm2由需要 devicemapper存储驱动程序。
sudo yum install -y yum-utils \
    device-mapper-persistent-data \
    lvm2
  • 使用以下命令设置稳定存储库。这里使用阿里云
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 更新 yum 缓存:
sudo yum makecache fast
  • 安装 Docker-ce:
sudo yum -y install docker-ce
  • 启动 Docker CE
sudo systemctl enable docker
sudo systemctl start docker
  • 测试运行 hello-world
docker run hello-world

Docker 安装与使用_第1张图片

  • 设置镜像加速,在 /etc/docker/daemon.json 中写入如下内容,如果文件不存在请新建该文件。
{
  "registry-mirrors": [
    "https://dockerhub.azk8s.cn",
    "https://reg-mirror.qiniu.com",
    "http://hub-mirror.c.163.com"
  ]
}
  • 重新启动服务。
sudo systemctl daemon-reload
sudo systemctl restart docker

2. 安装 registry

  • registry是镜像仓库,用于存储和分发Docker镜像
docker run -d \
  -p 5000:5000 \
  --restart=always \
  --name registry \
  -v /mnt/docker/registry:/var/lib/registry \
  registry:2
  • –restart=always,随docker一起自动启动或关闭
  • -v /mnt/docker/registry:/var/lib/registry,自定义存储位置,将registry容器内/var/lib/registry文件夹挂载到/mnt/docker/registry下。

3. registry 使用

  • 将拉取下来的mysql镜像上传到本地registry
  • 拉取mysql镜像
docker pull mysql:5.7.27

拉取mysql镜像

  • 标记镜像,使其指向您的注册表,将mysql:5.7.27标记为localhost:5000/mysql-5.7.27
docker image tag mysql:5.7.27 localhost:5000/mysql-5.7.27

标记镜像

  • 上传镜像
docker push localhost:5000/mysql-5.7.27
  • 查看镜像仓库,挂载的文件夹也同步了
docker exec -it registry /bin/sh

查看镜像仓库
查看镜像仓库

  • 删除本地缓存mysql:5.7.27和localhost:5000/mysql:5.7.27的镜像,这不会将localhost:5000/mysql:5.7.27从registry中删除。
  • 测试从registry中拉取。
docker image remove mysql:5.7.27
docker image remove localhost:5000/mysql-5.7.27

删除本地缓存镜像

  • 从本地registry中拉取镜像
docker pull localhost:5000/mysql-5.7.27

本地拉取镜像

  • 要停止注册表,请使用docker container stop与任何其他容器相同的命令。
docker container stop registry
  • 要删除容器,请使用docker container rm。
docker container stop registry && docker container rm -v registry

4. 安装 portainer

  • Portainer是一个轻量级管理UI,可轻松管理Docker主机或Swarm集群,可以在任何Docker引擎上运行的单个容器组成,允许您管理Docker堆栈,容器,映像,卷,网络等等!它与独立的Docker引擎和 Docker Swarm兼容。
  • 在独立的linux docker主机/单节点安装
docker run -d \
    -p 8000:8000 -p 9000:9000 \
    --restart=always \
    --name portainer  \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    portainer/portainer
  • portainer_data 是数据卷volumes,不存在的话docker会自动创建在/var/lib/docker/volumes下
  • 访问 http://ip:9000

5. 安装 mysql

  • 下面命令没有设置自定义挂载,会自动挂载在Docker生成的随机名称下。
docker run -d \
    --name mysql-1 \
    -p 3306:3306 \
    -e MYSQL_ROOT_PASSWORD=root \
    localhost:5000/mysql-5.7.27

自动生成数据卷并挂在

  • 自定义挂载,并使用自定义 MySQL 配置文件
  • 挂载/etc/mysql/my.cnf时要注意,它是文件,所以需要先在挂载的地方创建该文件,才能挂载,否则会报错
  • 创建文件夹在创建文件
touch /mnt/docker/mysql/conf/my.cnf
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
docker run -d \
    --name mysql-5.7.27 \
    -p 3306:3306 \
    -e MYSQL_ROOT_PASSWORD=root \
    -v /mnt/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf  \
    -v mysql_data:/var/lib/mysql \
    localhost:5000/mysql-5.7.27

自定义挂载

参考:
Docker — 从入门到实践
Get Docker Engine - Community for CentOS
docker registry文档
hub.docker.com
portainer.io
Docker 命令大全
使用docker安装mysql,挂载外部配置和数据

你可能感兴趣的:(Docker 安装与使用)