一、 docker安装
1、centos安装
(1)官方版本:
国内镜像安装:curl -sSL https://get.daocloud.io/docker | sh
二、 docker客服端
a) 容器使用
- 获取镜像:docker pull 镜像名
- 启动容器:docker run -it 容器名 /bin/bash #指定交互式shell
- 退出容器:exit
- 查看所有容器:docker ps -a
- 启动一个已经停止的容器:docker start 容器id
- 后台运行容器:docker run -itd –name 起一个容器名 指定容器名字 /bin/bash
- 停止容器:docker stop 容器id
- 进入容器:docker exec -it 容器id /bin/bash
- 导出容器:docker export 容器id > 压缩包名
- 导入容器:docker import 容器url
Cat docker/压缩包名 | docker import – test/容器名 - 删除容器:docker rm -f 容器id
b) 镜像的使用
- 查看本地主机镜像:docker images
- 获取/拉取镜像:docker pull 镜像名
- 查找镜像:docker search 镜像名
- 删除镜像:docker rmi 镜像名
- 更新镜像:首先启动需要更新镜像的容器,然后apt-get update,
提交容器副本:Docker commit -m=‘描述信息’ -a=’镜像作者’ 镜像id 指定创建的目标镜像名
构建镜像:cat Dockkerfile —docker build -t 指定目标镜像名
c) 容器连接
- 创建应用容器:docker run -d -P(-p自定义端口号:应用映射端口号) –name 容器名 training/webapp python app.py
- 查看绑定端口、容器名等:docker ps
- 容器互联:创建新的docker网络:docker network -d bridge tet-net(查看:docker network ls)
- 运行容器并连接网络:docker run -itd –-name 网络测试名 –network test-net 容器名 /bin/bash
- 重新运行一个终端,再运行一个容器加入网络:命令同上修改名字
- 建立test1连接:docker exec -it test1 /bin/bash
- 建立test2连接:docker exec -it test2 /bin/bash
- Ping连接test1:ping test1
- Ping连接test2:ping test1
- 没有ping命令:apt-get update
apt install iputils-ping
d) 配置DNS
e) 仓库管理
-
登录/退出:docker login/logout
-
获取镜像:docker search 镜像名
-
拉取镜像:docker pull 镜像名
-
推送镜像:docker tag 镜像名:版本号 docker账号/镜像名:版本号
Docker image ls
Docker push docker docker账号/镜像名:版本号
Docker search 账号/镜像名:版本号
f) 构建镜像:定制一个nginx镜像为例
① 新建一个Dockerfile文件
② 写入文件:
FROM nginx
RUN echo ‘这是一个本地构建的nginx镜像’ > /usr/share/nginx/html/index.html
注:FROM:定制的镜像都是基于FROM的镜像;
RUN:用于执行后面命令
RUN命令不建议重复使用,可以用&&连接