• Docker 系列之 DockerDesktop 常用第三方应用安装以及命令解释


    分享一下我使用过的大部分 docker 镜像安装代码,省的去找的时候不方便。

    Docker 常用命令解释

    docker version //查看版本详情
    docker info //查看docker详情
    docker images //查看所有存在的镜像
    docker search  imagename //搜索指定名字的镜像
    docker pull 镜像名:tag(可为空) // tag 不加,默认为 latest(最新版)  加了,就是指定版本
    docker run 镜像名:Tag(可为空)  //运行指定的镜像
    docker image rm 镜像名称:Tag(可为空)/镜像ID //删除指定的镜像或者通过镜像ID来删除
    docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字 //存储为tar格式的压缩包
    docker load -i  name.tar // 加载镜像从tar压缩包
    docker ps //查看正在运行的容器
    docker stop 容器名/容器ID //停止一个在运行的容器
    docker start 容器名/容器ID //启动一个在运行的容器
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    下边列举了大部分常用的命令,其他的可以查询官网作为补充。

    docker version

    docker info

    docker images

    docker search imagename


    也可以在官网 进行查询 : https://hub.docker.com/search?q=&type=image

    docker pull 镜像名

    docker run 镜像名


    运行是可以运行,但是,要根据具体的镜像来进行指定的设置才可以,此处只做举例。

    其实run命令内部包含了很多的参数,下面就对其实际用的参数,做个简单的解析,更多的还需要参考官网

    举个例子

    docker run -p 3306:3306 --name mysql -v /d/dockerConfig/mysql/data:/var/lib/mysql -v /d/dockerConfig/mysql/config:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql
    
    • 1
    端口映射 -p
    -p 宿主机端口:容器端口
    
    • 1

    这个概念有点像,容器端口就是服务器内部的应用自己的端口。
    而宿主机端口,就是外网端口,你要访问的实际端口,这个端口会冲突,只能有一个。因为你是基于外网进行访问的。

    如果有两个redis,可能配置如下所示(外部的端口,对同一个IP来讲端口不能重复的,但是,容器内部,它自己就是本身的端口)

    -p 6379:6379
    -p 6380:6379
    
    • 1
    • 2
    –name

    这就是给容器取了个名字

    -v 数据挂载
    -v 宿主机文件存储位置:容器内文件位置
    
    • 1

    其实也算是映射,就是让容器里的某个文件路径映射到容器外的某个路径上,这样,写入容器的内容,就直接写到容器外的路径了。

    -e 环境变量
    -e key=value -e key2=value2
    
    • 1

    需要把环境变量传递给容器,让容器运行的时候,就有这些环境变量

    -d 后台运行

    就是让此服务,在后台运行,否则的话,运行的时候,命令行就能看到其日志,关闭控制台,此服务就停止了。

    –restart=always

    开机自启动功能,实际上它是容器引擎服务启动,它才启动。

    要设置容器引擎开机启动才可以

    我这边是Docker Desktop,所以,需要设置

    docker image rm 镜像名称

    docker save 镜像名/镜像ID -o 镜像保存位置


    E盘下就有此文件了 redis.tar

    docker load -i name.tar

    docker ps

    docker stop 容器名/容器id

    docker start 容器名/容器id

    常用容器的使用命令

    mysql

    主要要配置映射文件的路径

    docker run -p 3306:3306 --name mysql -v /d/dockerConfig/mysql/data:/var/lib/mysql -v /d/dockerConfig/mysql/config:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql
    
    • 1

    Elasticsearch

    docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300  -e "discovery.type=single-node" elasticsearch:7.14.2
    
    • 1

    可以请求此地址 : localhost:9200/_license/start_trial?acknowledge=true&pretty

    activemq

    docker run --name activemq -it --rm -d  -p 8161:8161 -p 61616:61616 -p 61613:61613 webcenter/activemq:latest
    
    • 1

    admin admin
    http://127.0.0.1:8161/admin/

    consul

    docker run -d -p 8500:8500 --name=dev-consul   consul
    
    • 1

    memcached

    docker run -p 11211:11211 --name my-memcache -d memcached
    
    docker run -p 11233:11211 --name my-memcache2 -d  memcached:1.4.29
    
    docker run -p 11244:11211 --name my-memcache3 -d  memcached:1.4.33 memcached -o lru_crawler -m 1024
    
    • 1
    • 2
    • 3
    • 4
    • 5

    postgres

    docker run --name some-postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres
    
    • 1

    clickhouse

    启动 
    docker run -d --name clickhouseserver --ulimit nofile=262144:262144 -p 8123:8123 -p 9000:9000 -p 9009:9009 -p 9004:9004 yandex/clickhouse-server
    
    docker启动clickhouse-client
    
    docker run -it --rm --link clickhouseserver:clickhouse-server yandex/clickhouse-client --host clickhouse-server
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    mangodb

    docker run --name mongoDemo -itd -p 27017:27017 mongo
    
    • 1

    nacos

    docker run --name nacos  -d -p 8848:8848 ^
    -e MODE=standalone ^
    -e MYSQL_SERVICE_HOST=192.168.1.8 ^
    -e MYSQL_SERVICE_DB_NAME=nacos_config ^
    -e MYSQL_SERVICE_PORT=3306 ^
    -e MYSQL_SERVICE_USER=root ^
    -e MYSQL_SERVICE_PASSWORD=123456 ^
    nacos/nacos-server
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    http://localhost:8848/nacos/#/configurationManagement?dataId=&group=&appName=&namespace=56dea55e-f314-418b-b139-6795f5f22849&pageSize=&pageNo=&namespaceShowName=db

    redis

    docker run --name redis  -p 6379:6379 -d redis
    
    • 1

    redis-redisjson

    docker run -p 6370:6379 --name redis-redisjson -d  redislabs/rejson:latest
    
    • 1

    canal

    docker run --restart=always --name core_productservice_canal \
    -e canal.instance.master.address=192.168.1.9:3306 \
    -e canal.instance.dbUsername=root \
    -e canal.instance.dbPassword=123456 \
    -e canal.instance.defaultDatabaseName=Test \
    -e canal.instance.filter.regex=.*\\\..*
    -p 8001:11111 
    -d canal/canal-server
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    容器扩展

    有些容器,我们想进去做一些事情,但是有些命令会不存在,我们就可以这样做

    vim ipconfig

    apt-get update
    apt-get install vim -y
    apt-get install net-tools -y
    apt-get install inetutils-ping -y
    apt-get install sudo
    
    • 1
    • 2
    • 3
    • 4
    • 5

    防火墙

    apt-get install ufw
    apt-get autoremove  ufw
    
    关闭ubuntu的防火墙 
    ufw disable
    开启防火墙
    ufw enable
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    ubuntu开启telnet服务

    sudo  apt-get install  telnet
    sudo apt-get install openbsd-inetd -y
    sudo apt-get install telnetd -y
    sudo /etc/init.d/openbsd-inetd restart
    # 查看 telnet服务是否开启
    sudo netstat -a | grep telnet
    
    telnet 127.0.0.1 22
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    ssh

    apt-get remove openssh-server
    apt-get install openssh-server -y
    
    vim /etc/ssh/sshd_config
    
    Port 2222   #设置ssh的端口号, 由于22在windows中有别的用处, 尽量不修改系统的端口号
    PermitRootLogin yes   # 可以root远程登录
    PasswordAuthentication yes     # 密码验证登录
    
    重启服务
    sudo service ssh --full-restart
    
    在其他机子上打开xshell 或者linux , 输入以下命令:
    
    ssh user@ip  #eg: ssh fzl@128.96.8.113 
    连接成功!开始愉快的工作吧
    
    ssh root@172.22.199.141
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    总结

    docker 大部分服务都是linux 为基础容器的,所以,必备的基础linux知识是不可或缺的,也给一些想玩linux,但是,沒有环境的人一个不错的机会。

    当然,还可以自己创建DockerFile 来制造镜像文件,生成自己的镜像。

    也可以把镜像传到公共镜像库,或者私人镜像库,也可以自己用docker做个私人镜像库,把自己的镜像存起来。

    总的来说,挺好玩的。

    一键三连呦!,感谢大佬的支持,您的支持就是我的动力!

  • 相关阅读:
    景联文科技:AI大模型强势赋能,助力自动驾驶迭代升级
    学习笔记——交通安全分析13
    Springboot-mybatis创建项目报错day01
    STM32 SPI对存储芯片发送写是能命令后一直忙等待
    04-循环神经网络基础和自然语言处理介绍
    优秀的低代码产品长什么样?鉴别秘籍来了
    Nvidia显卡L40S学习:产品规格,常用名词解释
    Qt 常用函数
    “金融级”数字底座:从时代的“源启”,到“源启”的时代
    值得学习的Linux内核锁(一)
  • 原文地址:https://blog.csdn.net/kesshei/article/details/126920489