本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!