Docker常用操作

常用镜像

## Java官方镜像
docker pull openjdk

## CentOS官方镜像
docker pull centos:centos8
docker pull centos:centos7

## MySql官方镜像
docker pull mysql

## Redis官方镜像
docker pull redis

容器操作

## 列出运行中的docker容器
docker ps
## 列出所有docker容器
docker ps -a

## 查看容器日志, 发生错误时可以使用此命令打出日志
docker logs nginx

## 从镜像新建一个容器,并在后台持续运行
## --name:用于为容器指定一个名称,同一个镜像可以新建多个容器
##     -d:设置容器在后台运行
##     -v:用于将主机的指定目录映射到容器的指定目录,(主机目录:容器目录)
##   --net=bridge 用于指定网络模式,默认为桥接(bridge)
##   --restart=always 用于设置容器开机启动
docker run --name [可为容器指定一个名称] -v /data:/data --net=bridge --restart=always -d [镜像名:tag] /bin/sh -c "while true;do echo hello docker;sleep 1;done"

## 进入docker容器
docker exec -it 容器ID或名称 /bin/bash

## 退出docker容器
exit

## 查看docker容器挂载的目录
docker inspect 容器名称或ID | grep Mounts -A 20


常用的run命令

## 新建并启动nginx官方镜像
docker run --name nginx -v /var:/var --net=host --restart=always -d nginx:latest /bin/sh -c "while true;do echo hello docker;sleep 1;done"

## 新建并启动mysql官方镜像
docker run --name mysql -v /var:/var -p 3306:3306 --restart=always -d mysql:latest /bin/sh -c "while true;do echo hello docker;sleep 1;done"

## 新建并启动redis官方镜像
docker run --name redis -v /var:/var -p 6379:6379 --restart=always -d redis:latest /bin/sh -c "while true;do echo hello docker;sleep 1;done"

## 若容器已启动,则可通过命令更新容器为开机自启
docker update --restart=always 容器名称


备份/迁移

将容器打包成镜像

## 注:镜像名必须要全部小写,否则将不能打包
docker commit 容器ID 镜像名称:tag

镜像导出

## 将指定镜像保存成 tar 归档文件
## dockerdemo.tar导出后的归档文件,dockerdemo:tag2是镜像名称和tag号
docker save -o dockerdemo.tar  dockerdemo:tag2

镜像导入

## 导入时无法对镜像进行重命令
## 若本地已存在同名镜像库,则已存在镜像将会被覆盖
docker load -i dockerdemo.tar


举报

© 著作权归作者所有


1