Docker/Docker-compose以及DockerHub

2023-10-13 04:32
文章标签 docker compose dockerhub

本文主要是介绍Docker/Docker-compose以及DockerHub,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Docker介绍

和虚拟机区别

在这里插入图片描述

主要特性

在这里插入图片描述

DockerFile

Docker相关概念

在这里插入图片描述

dockerfile作用

在这里插入图片描述

在这里插入图片描述

Docker安装

安装地址

官网:
https://github.com/docker/docker-install命令:
下载:curl -fsSL https://get.docker.com -o get-docker.sh
运行:sh get-docker.sh
查看版本: docker --version

在这里插入图片描述

在这里插入图片描述

Docker Compose脚本(指令)安装

https://docs.docker.com/compose/install/

在这里插入图片描述

下载:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose给执行权限:
sudo chmod +x /usr/local/bin/docker-compose查看版本:
docker-compose -v

在这里插入图片描述

Docker创建MongoDB服务

网址:
https://hub.docker.com/下载:
docker pull mongo下载指定版本:
docker pull mongo:4

在这里插入图片描述
历史版本
在这里插入图片描述

在这里插入图片描述

mongo指定版本下载

docker pull mongo:4记得要运行docker:
service docker start

在这里插入图片描述

docker images

查看本地下载镜像
在这里插入图片描述

运行mongo服务

https://hub.docker.com/_/mongo?tab=description&page=3&ordering=last_updateddocker run -d --name some-mongo -p 10050:27017 mongo:4后台运行docker 名字some-mongo 更改端口号10050:27017 

在这里插入图片描述
运行速度特别快---->
在这里插入图片描述

docker ps

查看当前运行服务
在这里插入图片描述

跑在服务器10050端口,映射的是容器里面的的27017端口

放行端口

  • 方式一直接关闭防火墙
    在这里插入图片描述
  • 方式二放行指定端口 10050
    在这里插入图片描述
100050添加到放行规则里面去添加放行规则:
firewall-cmd --zone=public --add-port=10050/tcp --permanent
把10050永久添加到放行如果显示FirewallD is not running:https://blog.csdn.net/qq_44721831/article/details/104123519

Robo 3T验证连接

https://robomongo.org/download

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

Docker操作

先删除之前旧版本(如果没有可以跳过)

sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

安装必须的依赖

安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2


sudo yum install -y yum-utils \device-mapper-persistent-data \lvm2

设置稳定的仓库

// 使用官方源地址(比较慢)sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
// 阿里云
sudo yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
// 清华大学源
sudo yum-config-manager \--add-repo \https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

安装 Docker Engine-Community

安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:

sudo yum install docker-ce docker-ce-cli containerd.io

运行docker

systemctl start docker

在这里插入图片描述

docker run hello-world

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

docker ps

docker ps -a
查看运行服务

在这里插入图片描述

Docker中国镜像

通过 Docker 官方镜像加速,中国区用户能够快速访问最流行的 Docker 镜像。该镜像托管于中国大陆,本地用户现在将会享受到更快的下载速度和更强的稳定性,从而能够更敏捷地开发和交付 Docker 化应用。

Docker 中国官方镜像加速可通过 registry.docker-cn.com 访问。该镜像库只包含流行的公有镜像。私有镜像仍需要从美国镜像库中拉取。

您可以使用以下命令直接从该镜像加速地址进行拉取:

$ docker pull registry.docker-cn.com/myname/myrepo:mytag
例如:

$ docker pull registry.docker-cn.com/library/ubuntu:16.04
注: 除非您修改了 Docker 守护进程的 --registry-mirror 参数 (见下文), 否则您将需要完整地指定官方镜像的名称。例如,library/ubuntu、library/redis、library/nginx。

使用 --registry-mirror 配置 Docker 守护进程
您可以配置 Docker 守护进程默认使用 Docker 官方镜像加速。这样您可以默认通过官方镜像加速拉取镜像,而无需在每次拉取时指定 registry.docker-cn.com。

您可以在 Docker 守护进程启动时传入 --registry-mirror 参数:

$ docker --registry-mirror=https://registry.docker-cn.com daemon
为了永久性保留更改,您可以修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。

{
“registry-mirrors”: [“https://registry.docker-cn.com”]
}
修改保存后重启 Docker 以使配置生效。

vi /etc/docker/daemon.json

{"registry-mirrors": ["https://registry.docker-cn.com"]
}

在这里插入图片描述

ESC :wq

systemctl daemon-reload

systemctl restart docker

重启docker容器

docker rm 容器名称或者id

删除容器
如果容器正在运行中,需要docker stop先停止再删除容器
在这里插入图片描述

docker run --name zero-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql

在这里插入图片描述

docker logs -f zero-mysql

-f 持续打印
启动成功到3306
在这里插入图片描述

docker run --name zero-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 28001:3306 -d mysql

在这里插入图片描述

docker logs -f zero-mysql

查看运行日志

docker ps

查看正在运行的服务

测试连接

在这里插入图片描述

在这里插入图片描述

Docker Compose

是docker集合命令的一个工具 不需要一个一个容器docker run

docker-compose up

下载

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

给执行权限

sudo chmod +x /usr/local/bin/docker-compose

查看版本

docker-compose --version

在这里插入图片描述

cd /home/

vi docker-compose.yml

version:'3'
services:   //服务mysql1:   // 服务名称image:myaql  //镜像最新所以不用加..environment:  //环境变量 传递给容器内部,给容器内部用- MYSQL_ROOT_PASSWORD=123456  // root用户的密码ports: // 端口- 28002:3306  // 容器内部服务端口映射到数组机上来 myaql3306映射到数组机8002上来mysql2:image:myaqlenvironment:- MYSQL_ROOT_PASSWORD=123456ports:- 28003:3306version:'3'
services: mysql1: image:myaqlenvironment: - MYSQL_ROOT_PASSWORD=123456ports: - 28002:3306mysql2: image:myaqlenvironment: - MYSQL_ROOT_PASSWORD=123456ports: - 28003:3306// 格式非常重要,否则报错  冒号 - 后面要有空格
version: '3'
services:  mysql1:  image: mysqlenvironment: - MYSQL_ROOT_PASSWORD=123456ports: - 28002:3306mysql2: image: mysqlenvironment: - MYSQL_ROOT_PASSWORD=123456ports: - 28003:3306

docker-compose up -d

docker ps

在这里插入图片描述

docker logs -f home_mysql1_1

查看是否运行起来
在这里插入图片描述

naicat验证

在这里插入图片描述

docker-compose run/start/stop

在这里插入图片描述

docker-compose rm

在这里插入图片描述

Docker仓库

仓库
官方:Docker hub
私有仓库:Harbor

docker login

在这里插入图片描述

docker commit CONTAINERID zerowk2021/mysql:1.0

在这里插入图片描述

docker push zerowk2021/mysql:1.0

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

docker pull zerowk2021/mysql:1.0

另一台机器拉取就可以使用docker-compose run stop …

本地操作

docker build -t zero_blog:1.0 .

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

docker login

在这里插入图片描述

docker commit 047197d6808c zerowk2021/zero_blog:1.0

在这里插入图片描述

docker push zerowk2021/zero_blog:1.0

在这里插入图片描述

远程

docker pull zerowk2021/zero_blog:1.0

在这里插入图片描述

docker images

docker run -itd --name zero_blog -p 12007:80 a97b8118aba5

在这里插入图片描述

这篇关于Docker/Docker-compose以及DockerHub的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/200795

相关文章

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

关于Docker Desktop的WSL报错问题解决办法

《关于DockerDesktop的WSL报错问题解决办法》:本文主要介绍关于DockerDesktop的WSL报错问题解决办法的相关资料,排查发现是因清理%temp%文件夹误删关键WSL文件,... 目录发现问题排查过程:解决方法其实很简单:重装之后再看就能够查到了:最后分享几个排查这类问题的小www.cp

如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

《如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件》本文介绍了如何使用Docker部署FTP服务器和Nginx,并通过HTTP访问FTP中的文件,通过将FTP数据目录挂载到N... 目录docker部署FTP和Nginx并通过HTTP访问FTP里的文件1. 部署 FTP 服务器 (

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --

Docker部署Jenkins持续集成(CI)工具的实现

《Docker部署Jenkins持续集成(CI)工具的实现》Jenkins是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中,本文介绍了使用Docker部署Jenkins... 目录前言一、准备工作二、设置变量和目录结构三、配置 docker 权限和网络四、启动 Jenkins

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

docker如何删除悬空镜像

《docker如何删除悬空镜像》文章介绍了如何使用Docker命令删除悬空镜像,以提高服务器空间利用率,通过使用dockerimage命令结合filter和awk工具,可以过滤出没有Tag的镜像,并将... 目录docChina编程ker删除悬空镜像前言悬空镜像docker官方提供的方式自定义方式总结docker

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke