返回介绍

6.1 docker 常用镜像

发布于 2024-09-08 18:53:00 字数 9187 浏览 0 评论 0 收藏 0

  • 拉取镜像: docker pull xxx:xxx
  • 运行镜像:docker run
  • 镜像都来自于官网 docker.io
  • 镜像 tag 不要用 latest,要固化明确的版本。

表格 alpine 基础镜像

images镜像大小实例描述实例启动命令 run访问 URL
alpine5.57MB安全的轻量级 linuxdocker run alpine echo '123' 
redis:alpine32.4MBredis  
python:3.7-alpine41.8MBpython3.7  
python:3.4-alpine72.9MBpython3.4  
nginx:alpine286MB   
     

Alpine: Alpine 操作系统是一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版, Alpine 采用了 musl libcbusybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,因此得到开源社区越来越多的青睐。在保持瘦身的同时, Alpine 还提供了自己的包管理工具 apk ,可以通过 https://pkgs.alpinelinux.org/packages 网站上查询包信息,也可以直接通过 apk 命令直接查询和安装各种软件。

$ docker images |grep alpine
alpine   latest       0ac33e5f5afa   5 weeks ago     5.57MB
redis    alpine       3900abf41552   5 months ago    32.4MB
python   3.4-alpine   c06adcf62f6e   3 years ago     72.9MB

表格 常用基础镜像 (不改源码,只作最基础服务的镜像 )

images镜像大小实例描述实例启动命令 run访问 URL
nginx:1.9 nginx 后台服务docker run --name keefe-nginx -p 8081:80 -d nginx:1.9http://IP:8081/
linuxserver/nginx linux 服务器的 nginx 服务  
tomcat tomcat  
ubuntu:15.1072.8MB交互式启动:进入操作系统 ubuntudocker run -i -t ubuntu:15.10 /bin/bash 
redis:3.2105MBredis 后台服务docker run -p 6379:6379 -v $PWD/data:/data -d redis:3.2 redis-server --appendonly yes 
rqbbitmq:3.6.15-management138MBrabbitmq serverdocker run -d --log-driver=syslog -e RABBITMQ_NODENAME=my-rabbit --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.6.15-managementhttp://IP:15672/
mysql448MBmysql 后台服务docker run --name keefe-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latestmysql://xx:3306
mongo mongodocker run --name mongo -d mongo 
tensorflow800MB交互式启动 tensorflowdocker run -it tensorflow/tensorflow /bin/bash 
python:3.7852MB调用 python 解释器docker run python:3.7 python3 -c 'import copy;print("hello")' 

表格 常用服务型镜像(镜像实例可以直接作为提供为业务服务)

images镜像大小实例描述实例启动命令 run访问 URL
minio406MB对象存储docker run -d -p 9000:9000 -p 9090:9090 --name minio1 -e "MINIO_ROOT_USER=admin" -e "MINIO_ROOT_PASSWORD=123456" -v /data:/data --restart=always minio/minio server /data --console-address ':9090'http://IP:9090/
elasticsearch 单节点 ESdocker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.12.0 
apache/superset:1.0.01.45GB同上。压缩后 535MBdocker run -d -p 8088:8088 --name superset apache/superset:1.0.0同上
amancevice/superset2.25GB后台启动 supersetdocker run --name my_superset -d -p 8088:8088 -v /home/ai/superset:/home/superset amancevice/supersethttp://IP:8088/
wordpress +mysql 两个容器链接在一起docker run --name wordpress --link <contain_name]:mysql -p 80:80 -d wordpresshttp://IP/
apache/drill936MB   
     

minio: MinIO 是一个基于 Apache License v2.0 开源协议的对象存储服务。它兼容亚马逊 S3 云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几 kb 到最大 5T 不等。

表格 其它镜像 (基础和服务型镜像之外的)

images镜像大小实例描述实例启动命令 run访问 URL
hello-world13.3KB运行:打印帮助文档docker run hello-world 
docker/getting-started27.4MBdocker 入门文档docker run -d -p 80:80 docker/getting-started 
docker_practice:vuepress46.9MBdocker 实践文档docker run -it --rm -p 4000:80 ccr.ccs.tencentyun.com/dockerpracticesig/docker_practice:vuepress 
hashicorp/http-echo3.97MB服务端回显//回显内容来自入参-text 的值,go 实现,不支持 mac 平台 docker run -p 5678:5678 hashicorp/http-echo -text apple 

备注:如果 docker run 在 git bash 下无法启动,可换用 docker toolbox shell。

  1. 镜像用 : 分隔版本号。---name 指的是当前启动容器名称。-d 后台启动,-i 交互式启动。
  2. windows 下 docker 环境用 docker-machine ip defalut 获取虚拟 IP,用此 IP 进行访问。
# docker run 时本地无镜像,则从官网下载;再运行
$ docker run -d -p  9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock  uifd/ui-for-docker
Unable to find image 'uifd/ui-for-docker:latest' locally
Trying to pull repository docker.io/uifd/ui-for-docker ...
latest: Pulling from docker.io/uifd/ui-for-docker
841194d080c8: Pull complete
Digest: sha256:fe371ff5a69549269b24073a5ab1244dd4c0b834cbadf244870572150b1cb749
Status: Downloaded newer image for docker.io/uifd/ui-for-docker:latest
743e47f7ece394774920b35990a72e39622b976042accb69543835e25b08e22c

$ docker images
REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
docker.io/ubuntu                latest              1318b700e415        2 weeks ago         72.8 MB
docker.io/amancevice/superset   latest              bc910e3fc165        5 weeks ago         2.25 GB
docker.io/registry              2                   1fd8e1b0bb7e        3 months ago        26.2 MB
docker.io/hello-world           latest              d1165f221234        5 months ago        13.3 kB
docker.io/uifd/ui-for-docker    latest              965940f98fa5        4 years ago         8.1 MB

1. 运行入门容器 hello-world

$ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://cloud.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

2. nginx 部署

docker run -d -p 8082:80 --name runoob-nginx-test-web -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/nginx/logs:/var/log/nginx nginx

命令说明:

  • -p 8082:80: 将容器的 80 端口映射到主机的 8082 端口。
  • --name runoob-nginx-test-web:将容器命名为 runoob-nginx-test-web。
  • -v ~/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html。
  • -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。
  • -v ~/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文