Skip to content

Go back

docker常用命令

Published:  at 

文章目录

容器使用

官方可用容器地址

dockerhub

docker 命令

# 载入镜像文件
docker pull nginx

# 启动容器
docker run -itd --name ubuntu-test ubuntu /bin/bash
# -i: 交互式操作。  
# -t: 终端。  
# -d: 参数默认不会进入容器,容器启动后会进入后台
# --name: 设置容器名字为ubuntu-test 
# ubuntu: ubuntu 镜像。
# /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

容器的查看/关闭/停止

# 查看所有的容器
docker ps -a

# 重启应用
docker restart 容器id

# 关闭容器
docker kill 容器id

# 启动容器
docker start 容器id

# 停止容器
docker stop 容器id

复制本地文件到容器目录

docker cp /usr/local/vendor.js  容器id:/usr/src/app/_site

进入容器

# 进入了容器,并且退出不会导致容器停止
docker exec -it 容器id /bin/bash 

# 导出容器快照到本地文件
docker export 容器id > ubuntu.tar

# 导入容器快照
cat docker/ubuntu.tar | docker import - test/ubuntu:v1

# 此外,也可以指定url来导入
docker import http://example.com/image.tgz example/imagerepo

删除容器

docker rm -f 容器id

镜像使用

列出镜像列表

docker images

docker run -t -i ubuntu:15.10 /bin/bash

# 获取指定版本的镜像
docker pull ubuntu:13.10

# 查找镜像
docker search httpd

# 删除镜像
docker rmi hello-world

例子:docker创建mongo本地数据目录和配置文件

systemLog:
  destination: file
  path: /var/log/mongodb/mongod.log
  logAppend: true
storage:
  dbPath: /data/db
net:
  port: 27037
  bindIp: 0.0.0.0
#security:
  #authorization: enabled
docker run -itd --name attack-i-mongo  -v /Users/pixel/mongo:/data/db -v /Users/pixel/mongo/db_config/mongo.conf:/data/configdb/mongo.conf -p 27037:27037 -d mongo -f /data/configdb/mongo.conf

# -v  /Users/zhangzhi/mongodb:/data/db
    # 宿主机 /Users/pixel/mongo 数据库目录 
    #   映射到容器  /data/db  目录

# -v /Users/pixel/mongo/db_config/mongo.conf:/data/configdb/mongo.conf
    # 宿主机mongodb配置文件 /Users/pixel/mongo/db_config/mongo.conf
    #   映射到容器 /data/configdb/mongo.conf

# -p 27037:27037   容器的27037端口,映射到宿主机的27037端口

# 进入运行容器的终端
docker exec -it attack-i-mongo mongo --host 127.0.0.1 --port 27037 admin

# mongo5.0以上的版本使用mongo来执行mongodb命令已经不支持了,你需要改用mongosh来替代mongo!
docker exec -it attack-i-mongo mongosh --host 127.0.0.1 --port 27037 admin

# 使用管理员
use admin

# 创建用户
db.createUser({user:'root',pwd:'root',roles:['root']})
db.createUser({ user: 'admin', pwd: 'admin', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
# Successfully added user: {
#     "user" : "admin",
#     "roles" : [
#         {
#             "role" : "userAdminAnyDatabase",
#             "db" : "admin"
#         }
#     ]
# }

# 授权admin
db.auth('admin','admin')
# 1

# 添加数据库操作员
db.createUser({ user: "attack-i", pwd: "attack-i", roles: [ { role: "readWrite", db: "attack-i" } ] });

# nodejs链接示例: mongodb://admin:admin@localhost:27037/attack-i?authSource=admin


Previous Post
SQL 基础语法学习笔记
Next Post
React源码学习