Skip to content
Go back

Docker 入门与常用命令

Edit page

Table of contents

Open Table of contents

容器

启动容器

# 运行容器
docker run [可选参数] image

--name="name" #容器名称
-d            #后台运行
-it           #进入容器查看内容
-P            #指定容器的端口 -P  8080:8080(主机端口:容器端口)

# 启动并进入容器
docker run -it centos /bin/bash

退出容器

# 从容器中退回主机 并停止
exit

# 容器不停止退出
ctr + p + q

查看容器

docker ps
   # 列出当前正在运行的容器
-a #列出正在运行的容器,带出历史运行过的容器
-n=? #列出最近创建的容器
-q  #只显示容器的编码

删除容器

# 删除容器
docker rm  容器id  # 删除容器,不能删除正在运行的容器 如果要强制删除 rm -f
docker rm -f  ${docker ps -aq} # 删除所有的容器

启动 停止容器

# 启动容器
docker start 容器id
# 重启容器
docker restart 容器id

# 停止当前正在运行的容器
docker stop 容器id

# 强制停止当前容器
docker kill 容器id

常用命令

#后台启动容器
docker run -d 镜像名

# 日志
docker logs --help
# 要显示的日志条数
docker logs -tf --tail 10 容器id
#查看所有的日志
docker logs -tf 容器id

# 查看容器中进程信息
docker top 容器id

# 查看容器内部的信息
docker inspect 容器id

# 进入当前正在进行的容器
docker exec -it 容器id  #开启新的终端

# 正在执行当前的代码
docker attach 容器id  # 进入当前的终端 不会重新启动终端

# 从容器内拷贝文件到主机
docker cp e83f48f28562:/home/index.html /home

docker 启动nginx

# 后台启动 -d
# -p 主机端口:docker端口
docker run -d --name nginx01 -p 3344:80 nginx

root ~ [13:26:37] C:125
# 进入容器
$ docker exec -it nginx01 /bin/bash
root@2a6836e15fb5:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@2a6836e15fb5:/# cd /etc/nginx/
root@2a6836e15fb5:/etc/nginx# ls
conf.d	fastcgi_params	mime.types  modules  nginx.conf  scgi_params  uwsgi_params
root@2a6836e15fb5:/etc/nginx# exit
exit

root ~ [13:33:33]
$ docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED       STATUS       PORTS                                   NAMES
2a6836e15fb5   nginx     "/docker-entrypoint.…"   3 hours ago   Up 3 hours   0.0.0.0:3344->80/tcp, :::3344->80/tcp   nginx01

root ~ [13:33:41]
# 停止容器
$ docker stop 2a6836e15fb5
2a6836e15fb5

安装mysql

docker run -p 3306:3306 --name mysql -v /Users/hyzhao/Data/mysql/conf:/etc/mysql/conf.d -v /Users/hyzhao/Data/mysql/logs:/logs -v /Users/hyzhao/Data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

create database school;
show databases;

安装mongo

docker run -p 27017:27017 --name mongodb -v /Users/hyzhao/data/mongodata:/data/db -d mongo --auth

创建管理员用户

docker exec -it mongodb bash

mongosh

use admin

db.createUser({
  user: "hyzhao",
  pwd: "123456",
  roles: [
    { role: "root", db: "admin"}
  ]
});

先创建一个超级管理员 然后开启身份验证--auth


Edit page
Share this post on:

Previous Post
Node.js 包管理器对比:npm、yarn、pnpm
Next Post
CSS Position Fixed 定位机制详解