Article / 文章中心

Docker的基本操作

发布时间:2021-11-26 点击数:410

基本概念

镜像(Image):静态的定义

容器(Container):镜像运行时的实体

仓库(Repository):保存镜像

一、Hello World

1、容器内运行一个应用程序

docker run ubuntu /bin/echo "Hello world"

参数:

run: 运行一个容器

ubuntu: 镜像,如果本地不存在,就会从仓库下载

/bin/echo “Hello world”: 容器里执行的命令

2、运行交互式的容器

# -t: 终端, -i: 允许交互 $ docker run -i -t ubuntu /bin/bash  # 系统的版本 $ cat /proc/version  # 文件列表 $ ls  # 退出容器 $ exit

3、后台模式

docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"  # 查看运行的容器 $ docker ps  # 查看日志 $ docker logs -f <id/name>  # 停止容器 $ docker stop <id/name> 

二、Docker 容器使用

# 查看帮助 docker  # 查找镜像 docker search <name>  # 拉取镜像 docker pull ubuntu  # 删除镜像 docker rmi <id/name>  # 以命令行模式进入该容器,退出终端 exit docker run -it ubuntu /bin/bash  # 查看所有容器 docker ps -a  # 最后一次创建的容器 docker ps -l  # 启动容器 docker start <id/name>  # 停止容器 docker stop <id/name>  # 重启容器 docker restart <id/name>  # 后台运行 docker run -itd --name ubuntu-test ubuntu /bin/bash  # 进入终端 exit退出终端会导致容器停止 docker attach ubuntu-test  # 进入终端  exit退出终端容器不会停止 docker exec -it ubuntu-test /bin/bash  # 导出容器 docker export ubuntu-test > ubuntu.tar  # 导入容器快照 cat ubuntu.tar | docker import - test/ubuntu:v1  # 使用url导入快照 docker import http://example.com/exampleimage.tgz example/imagerepo  # 删除容器,容器必须是停止状态 $ docker rm -f <id/name>  # 清理掉所有处于终止状态的容器 docker container prune  # 查看端口映射 docker port <id/name>  # 查看容器内部运行的进程 docker top <id/name>  # 查看底层信息 docker inspect <id/name>  

三、运行Redis

# 端口映射 主机端口6378->容器端口6379 hostPort:containerPort docker run -itd --name my-redis -p 6378:6379 redis  # 随机映射 docker run -itd --name my-redis -P redis  # 进入容器 docker exec -it my-redis /bin/bash  # 容器内访问 $ redis-cli  # 主机访问 $ redis-cli -p 6378