docker 基础命令使用(ubuntu)

docker 状态查询

bash 复制代码
docker ps
docker ps -a

docker --version
docker info
docker --help
docker run --help
docker ps --help
...

docker 操作镜像命令

bash 复制代码
docker images

docker rmi 镜像id/镜像名

docker 操作容器命令

bash 复制代码
docker ps
docker ps -a

docker run 命令

bash 复制代码
# 端口映射 -p 参数
# 左边80是宿主机, 右边80是容器内部端口, 最后一个 nginx 是镜像名
docker run -d -p 80:80 nginx
docker run -d -p 80:80 --name nginx01 nginx

# 自动端口映射 -P 参数
# -P 表示暴漏出容器内部所有的端口, 并随机映射到宿主机的端口
docker run -d -P --name nginx01 nginx


docker start 容器id/容器名
docker stop 容器id/容器名


docker rm 容器id/容器名
docker rm -f 容器id/容器名

docker run 容器异常退出后/挂掉自动删除( --rm 参数)

bash 复制代码
docker run --rm -d -p 80:80 --name nginx02 nginx 

docker stop nginx02  # 容器会自动删除, 即 docker ps -a 命令看不到

docker 重启策略( --restart 参数 ), 三种重启策略

  • no: 容器退出后不重启
  • on-failure: 容器退出后, 一定次数内重启, 可以加上 :3, 表示最多重启3次
  • always: 容器退出后, 一直重启
bash 复制代码
# always 会一直启动, 即开机自启
docker run --restart always -d -p 80:80 --name nginx02 nginx 
# on-failure 模式不会开机自启
docker run --restart on-failure:3 -d -p 80:80  --name nginx02 nginx

# 注意命令: docker stop 容器id/容器名 属于正常退出, 不会触发重启策略, 意外退出才会触发

docker run 启动时加入环境变量

bash 复制代码
# docker inspect 容器id/容器名   查看容器配置信息
docker inspect nginx02

# -e 参数, 添加环境变量, 多个环境变量用多个 -e 参数 (也可以用 -env 参数, 效果与 -e 参数一样)
docker run -d -p 81:80 --name nginx_env -e HTTP_PROXY=http://172.30.xxx.xxx:7892 -e HTTPS_PROXY=http://172.30.xxx.xxx:7892 -e NO_PROXY=localhost,127.0.0.1 --restart always nginx

docker inspect nginx_env

或者

docker exec -it nginx_env bash
docker exec -it nginx_env env

docker run 限制容器资源使用

bash 复制代码
# 内存限制
## -m 100m  # 限制内存使用100m (单位可以是 b, k, m, g) 
docker run -d -p 83:80 --name nginx_mem -m 2m --rm nginx
docker run -d -p 83:80 --name nginx_mem -m 8m --rm nginx

## 查看容器内存使用情况
docker stats 容器id/容器名
docker stats nginx_mem

# cpu 限制
## --cpus 1 # 限制cpu使用1个核
docker run -d -p 84:80 --name nginx_mem_cpu -m 8m --cpus 1 --rm nginx

docker logs 查看容器日志

bash 复制代码
docker logs --help
docker logs 容器id/容器名
docker logs -f 容器id/容器名  # -f 参数, 实时查看日志

进入容器内部 docker exec -it 容器id/容器名 bash/其他命令

bash 复制代码
docker exec -it 容器id/容器名 bash
docker exec -it 容器id/容器名 env

docker 启动一个系统镜像作为一个容器

bash 复制代码
# 拉取
docker pull ubuntu
docker pull centos
docker pull debian

# 拉取镜像后,可以使用 docker run 命令启动一个新容器。以下是启动 Ubuntu 容器的示例:
docker run -d -P --rm --name ubuntu_container1 ubuntu tail -f /dev/null      # tail -f /dev/null 是为了保持容器一直挂起运行, 若容器内没有服务, 容器会自动退出
docker run -d -P --rm --name centos_container1 centos tail -f /dev/null
docker run -d -P --rm --name centos_container2 centos tail -f /dev/null

docker 进阶命令见:docker 进阶命令(基于Ubuntu)

相关推荐
Natsuagin3 小时前
轻松美化双系统启动界面与同步时间设置(Windows + Ubuntu)
linux·windows·ubuntu·grub
_院长大人_4 小时前
Docker Mysql 数据迁移
mysql·adb·docker
davenian6 小时前
< OS 有关 > Ubuntu 24 SSH 服务器更换端口 in jp/us VPSs
linux·ubuntu·ssh
qq_448941088 小时前
10、k8s对外服务之ingress
linux·容器·kubernetes
野猪佩挤8 小时前
minio作为K8S后端存储
云原生·容器·kubernetes
drebander8 小时前
Docker 与 Kubernetes(K8s)初探
docker
weixin_387002158 小时前
Openssl之SM2加解密命令
安全·ubuntu·密码学·ssl·命令模式
张海森-1688208 小时前
ubuntu20.04重启后不显示共享文件夹
ubuntu
默凉9 小时前
Ubuntu 20.04源码安装opencv 4.5.0
opencv·ubuntu
柳鲲鹏11 小时前
Ubuntu编译ZLMediaKit
linux·运维·ubuntu