镜像库:
1、https://hub.docker.com/
2、https://c.163yun.com/hub#/m/home/
1、获取镜像docker pull,例docker pull redis
2、列出本地镜像docker images
3、列出容器docker ps -a
4、删除容器docker rm,例docker rm 0e7b4a7d8530
5、移除本地镜像docker rmi,例docker rmi 0f55cf3661e9
6、新建并启动容器docker run
docker run -t -i docker.io/node /bin/bash
-t 选项让docker分配一个伪终端( pseudo-tty)并绑定到容器的标准输入上, -i 则让容器的标准输入保持打开
7、启动容器docker start,例docker start b149a961dd6b
8、停止容器docker stop,例docker stop b149a961dd6b

image.png
9、守护态运行,加参数-d
docker run -idt docker.io/node /bin/bash10、进入容器
docker attach a923fe53a82f11、退出容器不关闭容器
Ctrl+P+Q12、外部访问容器
docker run -idt -p 3000:6379 docker.io/redis本机3000端口映射到容器6379端口
docker run -idt -p 3001:3306 docker.io/mysql /bin/bash本机3001端口映射到容器3306端口

image.png
13、查看端口映射
docker port d0503771b50a
image.png
14、给容器起名字
docker run -idt -p 3001:3306 --name mysql docker.io/centos /bin/bash15、docker的四种网络模式
- host模式:
docker run 使用 --net=host指定
docker使用的网络实际上和宿主机一样 - container模式:
使用 --net=container:container_id/container_name
多个容器使用共同的网络,看到的ip是一样的 - none 模式
使用 --net=none指定
这种模式下,不会配置任何网络 - bridge模式
使用 --net=bridge指定
默认模式,不会指定
此模式会为每个容器分配一个独立的network namespace
16、创建镜像,把已有容器保存成镜像
docker commit 3efcaea59356 zhang/test:v2
其中3efcaea59356为容器CONTAINER ID
17、在容器 mynginx 中开启一个交互模式的终端
docker exec -it mynginx /bin/bash