Docker command March 2021
一、Docker的基本使用和管理 1.1. Docker镜像操作
删除镜像 docker rmi 仓库名称:标签 | ID号
存出镜像 docker save -o 存出文件名 存出的镜像
载入镜像 docker load < | -i 目标镜像文件
上传镜像
打上私有的标签 docker tag 名称:[标签] 新名称:[新标签]
上传 docker push 仓库名称:标签
1.2 Docker容器操作
创建 docker create [OPTIONS] 镜像 运行的程序
docker crate -it hivemq/hivemq4 /bin/bash
-i:让容器的输入保持打开状态
-t:让Docker分配一个伪终端
查看容器运行状态 docker ps -a
启动容器 docker start 容器ID | 名称
创建并运行容器 docker [OPTIONS] run 仓库名称:标签
-d 后台运行
–name:自定义一个名称
-p:指定端口映射,指定容器端口映射到主机端口,主机端口:容器端口
-P:随机端口映射,容器内部端口映射到主机的一个随机端口
-e:设置相关环境变量
TZ:设置容器内时区,例如TZ="Asia/Shanghai"
-v:设置数据卷
创建数据卷:-v 目录
创建数据卷并挂载到主机目录: -v 宿主机目录:容器数据卷目录
挂载数据卷容器:--volumes-from 容器名
容器的进入 docker exec -it 容器ID | 名称 /bin/bash
容器是一个与其中运行的shell命令共存亡的众安,shell命令运行则容器运行,shell命令停止则容器停止,使用exit命令会在退出容器的同时关闭容器(但可以docker ps、docker restart恢复),所以使用ctrl+P & ctrl + Q
可以退出容器
容器终止运行 docker stop 容器ID | 名称
容器导出 docker export 容器ID | 名称 > 文件名
容器导入 cat 文件名 | docker import - 生成镜像名称:标签
容器的删除 docker rm 容器ID | 名称
1.3 容器拷贝文件
从容器复制文件到主机1 docker cp 023ed1bab:usr/local/tomcat/README.md ./
从主机复制文件到容器1 docker cp ./README.md 023ed1bab:usr/local/tomcat/
1.4 容器重命名 1 docker rename oldname newname
1.5 更新现有容器的重启策略 1 docker update --restart=<策略选项> <容器名称或ID>
<策略选项>
替换为 no
、always
、on-failure
或 unless-stopped
中的一个,根据需求选择
no
:容器不会自动重启(默认值)。
always
:容器总是在退出时重启。
on-failure
:仅当容器以非零状态退出时才重启。
unless-stopped
:容器总是在退出时重启,除非它已被手动停止。
二、Docker安装常用应用 2.1 docker 安装 kafka 2.1.1 安装 zookeeper 1 2 3 4 5 6 7 docker run -d \ --restart=always --log-driver json-file \ --log-opt max-size=100 m \ --log-opt max-file=2 \ --name zookeeper-test -p 21811 :2181 \ -v /etc/localtime:/etc/localtime \ wurstmeister/zookeeper:latest
2.1.2 安装 kafka 1 2 3 4 5 6 7 8 9 10 11 12 13 docker run -d \ --restart=always \ --log-driver json-file \ --log-opt max-size=100 m \ --log-opt max-file=2 \ --name kafka-test \ -p 9092 :9092 \ -e KAFKA_BROKER_ID=0 \ -e KAFKA_ZOOKEEPER_CONNECT=192 .168 .124 .248 :21811 \ -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192 .168 .124 .248 :9092 \ -e KAFKA_LISTENERS=PLAINTEXT://0 .0 .0 .0 :9092 \ -v /etc/localtime:/etc/localtime \ wurstmeister/kafka:latest
2.2 安装gogs 1 docker run -d -p 10022:22 -p 13000:3000 -v /data/gogs:/data --name gogs-test gogs/gogs:0.13
2.3 安装 EMQX 1 2 3 4 5 6 7 8 docker run -d \ -v E:/codebase/Link5g/Iot-hub/local/emqx_auth_http.conf:/opt/emqx/etc/plugins/emqx_auth_http.conf \ -v E:/codebase/Link5g/Iot-hub/local/emqx_retainer.conf:/opt/emqx/etc/plugins/emqx_retainer.conf \ -v E:/codebase/Link5g/Iot-hub/local/emqx_auth_username.conf:/opt/emqx/etc/plugins/emqx_auth_username.conf \ -v E:/codebase/Link5g/Iot-hub/local/emqx.conf:/opt/emqx/etc/emqx.conf \ -p 11883:11883 -p 18083:18083 -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8084:8084 -p 8883:8883 \ --name emqx-local \ emqx/emqx:4.2.0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 docker run -d -v E:/codebase/Link5g/Iot-hub/local-link5g-dmp/emqx_auth_http.conf:/opt/emqx/etc/plugins/emqx_auth_http.conf -v E:/codebase/Link5g/Iot-hub/local-link5g-dmp/emqx_retainer.conf:/opt/emqx/etc/plugins/emqx_retainer.conf -v E:/codebase/Link5g/Iot-hub/local-link5g-dmp/emqx_auth_username.conf:/opt/emqx/etc/plugins/emqx_auth_username.conf -v E:/codebase/Link5g/Iot-hub/local-link5g-dmp/emqx.conf:/opt/emqx/etc/emqx.conf -p 31883:11883 -p 38084:18083 -p 3883:1883 -p 38081:8081 -p 38083:8083 -p 38085:8084 -p 38883:8883 --name emqx-local-link5g-dmp emqx/emqx:4.2.0
2.4 安装Mysql 1 2 3 4 5 6 7 8 9 10 11 !#/bin/bash sudo docker run \ --name mysql \ -d --restart always \ -p 33060:3306 \ -v /data/mysql/logs:/var/log \ -v /data/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=xyJB5z^4%kZKVK \ mysql:5.7.35 docker run --name mysql3307 -d --restart always -p 33060:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7.35
2.5 安装ES 1 2 3 4 5 6 7 8 9 10 11 12 13 14 docker network create itmentu-net docker run -d \ --name elasticsearch \ --memory=2g -e "discovery.type=single-node" \ -v es-data:/usr/share/elasticsearch/data \ -v es-plugins:/usr/share/elasticsearch/plugins \ --privileged \ --network itmentu-net \ -p 9200:9200 \ -p 9300:9300 \ elasticsearch:7.12.1
docker 部署ES时一定要限制内存
2.6 安装Postgres 1 docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres
2.7 安装Hoppscotch
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 DATABASE_URL=postgresql://postgres:admin@10.92.137.168:5432/hoppscotch JWT_SECRET=sec*dfa12co1de1 TOKEN_SALT_COMPLEXITY=10 MAGIC_LINK_TOKEN_VALIDITY=3 REFRESH_TOKEN_VALIDITY=604800000 ACCESS_TOKEN_VALIDITY=86400000 SESSION_SECRET=anotasdfa REDIRECT_URL=http://localhost:3000 WHITELISTED_ORIGINS=http://localhost:3170,http://localhost:3000,http://localhost:3100 VITE_ALLOWED_AUTH_PROVIDERS=GOOGLE,GITHUB,MICROSOFT,EMAIL GOOGLE_CLIENT_ID=***** GOOGLE_CLIENT_SECRET=***** GOOGLE_CALLBACK_URL=http://localhost:3170/v1/auth/google/callback GOOGLE_SCOPE=email,profile GITHUB_CLIENT_ID=***** GITHUB_CLIENT_SECRET=**** GITHUB_CALLBACK_URL=http://localhost:3170/v1/auth/github/callback GITHUB_SCOPE=user:email MICROSOFT_CLIENT_ID=***** MICROSOFT_CLIENT_SECRET=***** MICROSOFT_CALLBACK_URL=http://localhost:3170/v1/auth/microsoft/callback MICROSOFT_SCOPE=user.read MICROSOFT_TENANT=common MAILER_SMTP_URL=smtps://user@domain.com:pass@smtp.domain.com MAILER_ADDRESS_FROM=from@example.com RATE_LIMIT_TTL=60 RATE_LIMIT_MAX=100 VITE_BASE_URL=http://localhost:3000 VITE_SHORTCODE_BASE_URL=http://localhost:3000 VITE_ADMIN_URL=http://localhost:3100 VITE_BACKEND_GQL_URL=http://localhost:3170/graphql VITE_BACKEND_WS_URL=wss://localhost:3170/graphql VITE_BACKEND_API_URL=http://localhost:3170/v1 VITE_APP_TOS_LINK=https://docs.hoppscotch.io/support/terms VITE_APP_PRIVACY_POLICY_LINK=https://docs.hoppscotch.io/support/privacy ENABLE_SUBPATH_BASED_ACCESS=false
1 2 3 docker run -it --entrypoint sh --env-file .env hoppscotch/hoppscotch pnpx prisma migrate deploy
1 docker run -d --name hoppscotch -p 3000:3000 -p 3100:3100 -p 3170:3170 --env-file .env --restart unless-stopped hoppscotch/hoppscotch
1 docker run -d --name hoppscotch-proxy -p 9159:9159 hoppscotch/proxyscotch
1 2 3 docker run -it --entrypoint sh --env-file hoppscotch.env hoppscotch/hoppscotch pnpx prisma migrate deploy
发布时间: 2021-03-20 11:54:34
更新时间: 2024-07-01 11:02:35
本文链接: https://wyatt.ink/posts/Tools/8f5fd259.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!