欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker的基本操作

程序员文章站 2024-03-12 11:34:20
...

基本概念
镜像(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

参考
https://www.runoob.com/docker/docker-tutorial.html