版本1.0
团队 北芯众合技术小组
制作 <wu_chang_hao@qq.com>
工夫 2021/01/21
知识点
docker 基本概念
- docker 镜像增删改查
- docker 容器
- docker 容器增删改查
- docker 其余命令应用
- docker 导入/导出
- docker 镜像市场
- docker 阿里云镜像减速
- 装置 docker
docker 试验
- 测试
自定义docker镜像
- 案例一
- 案例二
docker 基本概念
- 镜像: image
- 容器: container
- 仓库: repository
docker 镜像增删改查
docker search # 镜像名:去docker hub 搜寻无关镜像文件docker pull # 镜像名:下载docker镜像docker images # 查看本地有哪些docker镜像,同docker image lsdocker rmi # 镜像id或者镜像名:删除本地docker镜像docker rmi -f # 镜像id:强制删除镜像文件
docker 容器
- docker容器中必须有过程在后盾运行,否则容器挂掉
- docker镜像每次运行 都会生成新的容器id记录
docker 容器的增删改查
docker run 镜像名/镜像id:运行处容器过程实例docker ps:查看正在运行的容器过程docker ps -a:显示所有运行过的容器过程(正在运行的,以及挂掉的容器过程),同docker container ls -a,旧的命令docker run -it 镜像id/镜像名 /bin/bash:运行一个交互的容器参数:-i:interactive,交互式的命令操作;-t:terminate,开启一个终端界面 ;/bin/bash:指定linux的解释器docker rm 容器id:删除容器id记录,只能删除挂掉的容器docker rm `docker ps -aq` :批量删除进行运行的容器记录docker exec -it 运行着的容器id /bin/bash:进入一个正在运行着的容器docker logs 容器id:查看容器的日志docker logs -f 容器id:查看容器内的日志# 启动容器 (后盾模式)docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"# -P参数:将容器外部应用的网络端口随机映射到主机上docker run -P mongodocker ps # 查看随机映射的端口# -p参数:设置固定映射端口docker -run -d -p 27017:27017 xxx_id /bin/bash# --net host参数: 能够应用通过web界面拜访到容器了 docker run --net host xxx_id /bin/bash
docker 其余命令应用
# docker 查看配置信息docker info# 返回docker对象信息,底层信息, 返回一个 JSON 文件记录着 Docker 容器的配置和状态信息docker inspect xxx_id
docker 导入/导出
# 导出某个镜像docker export 1e560fca3906 > center.tar# 导入镜像docker import cneter.tar# 导出本地镜像docker save -o docker-mongo.tar 213c2b6cee9f# 导入本地镜像docker load -i docker-mongo.tar
docker 镜像市场
# DaoCloud 厂商https://hub.daocloud.io/
docker 阿里云镜像减速
# 阿里云镜像减速地址https://dev.aliyun.com/
装置 docker
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repoyum install -y docker# 配置镜像下载加速器curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.iocat /etc/docker/daemon.json{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}
docker 试验
测试
docker run -d centos /bin/sh -c "while true;do echo 'hello, beixin team.'; sleep 1;done" -d:daemonize,后盾运行 centos:指定哪个镜像 /bin/sh:指定linux的解释器 -c:指定一段shell代码 "while true;do echo '熊大真棒'; sleep 1;done",每秒打印一个
自定义docker镜像
案例一
# 获取一个centos镜像,运行出容器实例docker run -it centos /bin/bash# 进入容器空间, 装置vimyum install vim -y# 退出容器,提交这个容器为一个新的镜像exitdocker ps -a # 查看方才装置了vim的容器id,这里4595c3de8418 9f3 # 这里我的查到时459# 提交镜像语法:docker commit 容器id 新的镜像名字docker commit 459 centos-vim# 查看提交的镜像文件docker images# 导出镜像文件到指定的文件,留神为压缩文件docker save centos-vim > /opt/centos-vim.tar.gz# 在本地测试导入这个镜像,能够先删除咱们生成的镜像docker rmi centos-vim# 导入镜像docker load < /opt/centos-vim.tar.gz# 导入的镜像,批改名字# docker tag 旧的镜像名 以docker仓库id结尾/新的镜像名docker tag 84d mydocker/centos-vim# 执行docker镜像,运行出容器,查看是否携带了vimdocker run -it mydocker/centos-vimvim # 胜利的话,vim能够执行
案例二
docker运行一个flask框架的脚本
# 下载training/webapp的镜像,用来运行python的flask我的项目。# docker run的特点,如果镜像不存在,则主动去docker pull下载# 通过training/webapp实例一个容器对象docker run -d -P training/webapp python app.py# 查看运行容器的端口docker port 容器id# 容器的启停命令docker start 容器iddocker stop 容器id# 依据端口映射,查看flask框架拜访:192.168.16.122:32768