----------------------------------
docker command
----------------------------------
# 重新加载配置
systemctl daemon-reload
----------------------------------
# 重启
systemctl restart docker
----------------------------------
# 启动
systemctl start docker
---------------
# 停止
systemctl stop docker
---------------
# 设置开机启动
systemctl enable docker
---------------
# 查看 docker 版本
docker version
---------------
# 查看 docker 信息
docker info
# 宿主机存放镜像的目录
# Docker Root Dir: /var/lib/docker
# Docker 仓库 url
# Registry Mirrors:
# https://kzorq22x.mirror.aliyuncs.com/
---------------
# 从仓库获取镜像
docker pull redis
docker pull rabbitmq
-----------------
# 查询镜像
docker search rabbitmq
-----------------
# 查看当前 docker 主机已存在的镜像
docker images
-----------------
# 删除镜像
# 删除具体某个镜像的客制层级文件
# docker rmi [镜像名]
-----------------
# 导出一个镜像
docker export [容器名]>test.tar
-----------------
# 导入一个镜像
docker import test.tar [镜像名:版本号]
-----------------
# 查看镜像层级文件
docker history [镜像名]
-----------------
# 查看当前 docker 主机运行的容器
# -a 所有的容器,包含未运行的
docker ps
-----------------
# 创建容器并运行
# -d 启动后在后台运行
# --name 给创建的容器取个名字
# -p 绑定端口,把 宿主机的端口 与 容器中的端口 绑定
# -e mysql 镜像客制参数,设置 root 用户的密码
# mysql:5.7 镜像名及版本号, 省略版本号时,取 docker 主机最新版本镜像
docker run -d --name mysql_1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7
docker run -d --name rabbitmq -e RABBITMQ_DEFAULT_USER=steven -e RABBITMQ_DEFAULT_PASS=002310 -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management
------
# -v 挂载宿主机目录,代替容器内的目录
# 挂载目录的使用场景
# 1.容器需要的配置文件,直接放在宿主机目录就好
# 2.容器生产的业务数据,不允许放在容器内
# 3.容器的日志,方便查看
# /docker/nginx 宿主机目录
# /etc/nginx/conf.d 容器内的目录
docker run -d --name nginx_001 -v /docker/nginx:/etc/nginx/conf.d
-p 80:80 nginx
docker run -d --name mysql_001 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root
-v /docker/mysql/conf:/etc/mysql mysql:5.7
------
# 数据卷容器 -- volumes-from
# 把多个容器的挂载都放在一个容器里, 该容器无需启动
docker run -d --name data
-v /docker/nginx:/etc/nginx/conf.d
-v /docker/mysql/conf:/etc/mysql
hello-world
# 需挂载的容器,引用挂载容器
docker run -d --name nginx -p 80:80 --volumes-from data nginx
# 删除数据卷
docker rm -v data
------------
# -p 当客户端与 docker 容器跨网段时,绑定端口以便客户端可以通过访问宿主机来访问 docker 容器
# -p [宿主机端口]:[容器端口]
docker run -d --name nginx_3 -p 8080:80 nginx
-----------------
# -it 打开人机界面,创建并启动容器后,直接进入容器
# /bin/bash linux 系统的 shell 脚本的环境
docker run -it --name centos centos /bin/bash
-----------------
# 复制容器内的配置文件 --> 宿主机挂载目录
# docker cp 容器名字:容器内目录及文件名 宿主机挂载目录
docker cp nginx:/etc/nginx/conf.d/default.conf .
# 复制宿主机目录的 war 包 --> tomcat 容器内的 webapps
# docker cp 宿主机目录 war 包 容器名字:容器内目录
docker cp mvc.war tomcat_001:/usr/local/tomcat/webapps
-----------------
# 查看容器 log
# docker logs [容器名字]
docker logs nginx
-----------------
# 创建容器
docker create
-----------------
# 启动 容器
docker [start|stop|restart|kill|pause|unpause] [容器id或名字]
-----------------
# 查看容器 / 镜像元数据 ip, port
docker inspect [容器 id 或名字]
# 查看容器 ip
docker inspect --format='{{.NetworkSettings.IPAddress}}' [容器id或名字]
# 查看容器 ports
docker inspect --format='{{.NetworkSettings.Ports}}' [容器id或名字]
---------------
# 删除容器
# -fv 其中 f 为强制删除,v 为连数据一起删除
# docker rm -fv [容器名称/容器id]
docker rm -fv nginx
---------------
# 进入容器内部,进入后基本的 linux 命令都可以用
# -it 打开人机界面,进入容器
# /bin/bash linux 系统的 shell 脚本的环境
docker exec -it nginx /bin/bash
---------------
# 查看 nginx 目录
root@容器id:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
---------------
# 配置 nginx
cd /etc/nginx/conf.d/
ls
default.conf
---------------
# 退出容器
exit
---------------
# 退出不关闭容器
ctrl + P + Q
---------------
# 查找镜像,先在阿里云查找,阿里云若没有就转发 docker 官方国外中央仓库查找
docker search [镜像名字]
---------------
# 把容器存为镜像
# -a 人员信息
# -m 备注信息
docker commit -a "steven" -m "steven mvc" [容器名称/容器id] [镜像名:版本]
---------------
# 生成镜像
# t 镜像名:版本
# docker build -t [镜像名]:[版本] DockerFile目录
docker build -t tomcat:peter_mvc_001 .
----------------
docker 官方仓库 https://hub.docker.com
自由注册,邮件激活
----------------
# 创建并启动 docker 私库
docker run -d --name reg -p 5000:5000 registry
# 查看私库镜像
# http://192.168.0.105:5000/v2/_catalog
# {"repositories":[]}
----------------
# 标记本地镜像,以便上传 docker 仓库
docker tag [镜像名:版本] [仓库ip:仓库port]/[镜像名:版本]
docker tag nginx:latest 192.168.0.105:5000/nginx:steven001
----------------
# 查看 tag 生成的 镜像分支
docker images
# 多了一个 分支镜像 192.168.0.105:5000/nginx:steven001
# 与 tag 源镜像 nginx:latest 同 id
----------------
# 推送镜像到仓库,需登录
docker push [仓库ip:仓库port]/[镜像名:版本]
docker push 192.168.0.105:5000/nginx:steven001
----------------
# 查看私库镜像
# http://192.168.0.105:5000/v2/_catalog
# {"repositories":["nginx"]}
# 查看私库某个镜像版本分支
# http://192.168.0.105:5000/v2/[镜像名]/tags/list
# http://192.168.0.105:5000/v2/nginx/tags/list
# {"name":"nginx","tags":["steven001"]}
----------------
# 登录仓库
docker login
971

被折叠的 条评论
为什么被折叠?



