docker 使用命令:
docker version 查看docker版本号 vi /etc/docker/daemon.json { "registry-mirrors": ["https://registry.docker-cn.com"] } 配置docker镜像加速 docker run -d -p 80:80 nginx 启动一个容器 run(创建并启动一个容器) -d 放在后台 -p 端口映射 nginx docker镜像的名字docker镜像管理命令:docker search XXXX 搜索镜像 默认搜索官方网站 hub.docker.com 这是官方仓库地址 docker pull (push) centos:6.9 没有指定版本会默认下载最新版本 docker pull doacloud.io/huangzhichong/alpine-cn:latest 这是从私有仓库下载 docker images 查看镜像列表 docker rmi 例子:docker image rm centos:latest 删除镜像 docker save 例子:docker image save centos -o docker_centos7.4.tar.gz 导出镜像 docker load 例子:docker image load -i docker_centos7.4.tar.gz 导入镜像docker的容器管理:docker run -d -p 80:80 nginx:latestrun (创建并运行一个容器)-d 放在后台-p 端口映射 nginx docker镜像的名字docker run -it --name centos6 centos:6.9 /bin/bash-it 分配交互式的终端--name 指定容器的名字/bin/bash 覆盖容器的初始命令docker run xxx 运行容器docker start xxx 启动容器docker stop xxx 停止容器docker kill xxx 杀死容器docker ps (-a -l -q) 查看容器列表*** 进入容器推荐使用方法如下docker exec (会分配一个新的终端tty)docker exec -it 容器名字或者容器id /bin/bash (/bin/sh)docker attach (使用同一个终端) 可以查看另外使用这个容器的工程师的操作 偷偷离开快捷键 ctel+p,ctrl+qdocker rm xxx 删除容器docker rm -f `docker ps -a -q` 批量全部删除容器******* 总结 :docker容器内的第一个进程(初始命令)必须一直处于前台运行的状态(必须夯住),否则这个容器就会处于退出状态业务在容器中运行:初始命令,夯住,启动服务
docker容器的网络访问(端口映射):
docker0:172.17.0.1 jumpserver:172.17.0.2 nginx:172.17.0.3
指定映射(docker 会自动添加一条iptables规则来实现端口映射)
-p hostPort:containerPort
-p ip:hostPort:containerPort 多个容器都想使用8080端口
-p ip::containerPort(随机端口)
-p hostPort:containerPort/udp
-p 10.0.0.100::53/udp 使用宿主机的10.0.0.100这个ip地址的随机端口的udp协议映射容器的udp53端口
-p 81:80 –p 443:443 可以指定多个-p
随机映射
docker run -P (随机端口)
通过iptables来实现的端口映射
例子:docker run -d -p 80:80 nginx -p 宿主机端口:虚拟机端口 可以一次性加多个 -p参数指定
例子:docker run -d -p 80:80 -p 443:443 nginx
docker run -P (随机端口) 大P
docker的数据卷管理:
/usr/share/nginx/html-v /opt/xiaoniao:/usr/share/nginx/html持久化数据卷(文件或目录) -v 卷名:/data (第一次卷是空,会容器的数据复制到卷中,如果卷里面有数据,把卷数据的挂载到容器中) -v src(宿主机的目录):dst(容器的目录)数据卷容器 –volumes-from(跟某一个已经存在的容器挂载相同的卷) 基于nginx启动一个容器,监听80和81,访问80,出现nginx默认欢迎首页,访问81,出现小鸟。-p 80:80 -p 81:81 -v xxx:xxx -v xxx:xxxx基于nginx多站点。例子:
docker run -d -p 80:80 -p 81:81 -v /opt/xiaoniao:/usr/share/nginx/html nginx:latest