1、下载wget
yum install wget -y
2、创建目录
mkdir -p /etc/yum.repos.d
3、下载阿里云yum源配置
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
4、更新缓存
yum clean all
yum makecache
1.镜像
镜像是docker运行容器的前提,docter运行容器前需要本地存在对应的镜像。如果镜像不存在本地,docter会尝试先从默认镜像仓库下载(默认使用docter hub公共注册服务器中的仓库),用户也可以通过配置,使用自定义的镜像仓库
2.容器
容器是镜像的一个运行实例
3.仓库
集中存放镜像的地方
docker要求Linux内核要3.0以上版本,如果centos6.x 内核是2.x,需要升级linux内核
我虚拟机直接安装的是centos 7 64位 输入uname -r 查看内核
1)升级本地yum包
yum update
2) 安装工具集
yum install -y yum-utils device-mapper-persistent-data lvm2
3)安装阿里云docker源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4)更新yum缓存
yum makecache fast
yum clean all
5)安装docker
yum -y install docker-ce
6)启动docker服务
service docker start
7)查看docker版本
docker -v
8)开机启动docker服务
systemctl enable docker.service
1)创建文件目录
mkdir -p /etc/systemd/system/docker.service.d
2)创建http-proxy.conf并添加内容
vim /etc/systemd/system/docker.service.d/http-proxy.conf
HTTP_PROXY 为自己的代理上网地址
添加的内容:
[Service]
Environment="HTTP_PROXY=http://10.1.82.22:3128"
3)重新读取服务的配置文件
systemctl daemon-reload
4)重启Docker
systemctl restart docker
5)验证是否已加载配置
systemctl show --property=Environment docker
镜像相关
命令 | 作用 |
---|---|
docter pull NAME[:TAG] | 使用pull命令从docker hub仓库下载镜像到本地 |
docker tag oldName newName | 为本地镜像添加新的标签 |
docker images | 列出本地主机上已有的镜像 |
docker search TERM | 默认搜索docker hub官方仓库的镜像 |
docker rmi 镜像id或者镜像名称 | 删除镜像 |
docker commit [OPTIONS] CONTAINER[REPOSITORY[:TAG]] | 基于已有镜像的容器创建镜像,可以创建比较复杂的镜像。-a:作者信息,-m:提交信息,-p:提交时暂停容器运行 |
docker import -NAME[:TAG] | 基于本地模板导入镜像 |
docker build -t NAME[:TAG] | dockerfile路径 基于dockerfile创建 |
docker save –o xxx.tar NAME[:TAG] | 存出镜像到本地文件 |
docker load 载入镜像 |
|
docker inspect 镜像id | 查看镜像详细信息 |
容器相关
命令 | 作用 |
---|---|
docker create –it NAME[:TAG] | 创建容器 |
docker start NAME[:TAG] | 启动容器 |
docker run –it NAME[:TAG] | 等于先执行docker create命令,再执行docker start,-it交互式,守护态运行,通过run后加-d实现 |
docker stop[-t | –time[=10]] |
docker restart NAME[:TAG] | 启动状态重新启动 |
docker ps –a –q | 查看处于终止的容器id信 |
docker ps | 查看正在运行的容器 |
docker ps –a | 查看所有容器 |
docker rm 容器id | 删除容器,需要先停止 |
docker logs 容器id | 查看容器日志 |
docker port container-id> 端口 |
|
docker inspect 容器id | 查看容器信息 |
docker exec -u root -it containerID /bin/bash | 指定用户进入容器操作 |
env | 容器内部输入env查看容器内部环境变量 |
docker cp |
复制本地文件到容器 |
docker cp container-id: |
复制容器文件到本地 |
docker network create app_net | 创建自定义网络 |
docker network connect app_net container-name | 连接网络 |
docker run -it -v /dbdata --name dbdata
创建数据卷容器dbdata,并在其中创建数据卷挂载到/dbdata。其他容器挂载使用–volumes-from dbdata,可以多次使用,从多个容器挂载多个数据卷,还可以从一挂载数据卷的容器来挂载数据卷,且使用–volumes-from 参数所挂载数据卷的容器自身不需要保持运行,要删除一个数据卷,必须在删除最后一个还挂着它的容器时显示使用docker rm -v命令来指定同时删除关联的容器
1)查看需要修改的容器,记住container id
docker ps -a
2) 停止容器
docker stop xxx
3) 修改容器的端口映射配置文件
vim /var/lib/docker/containers/{container_id}/hostconfig.json
"PortBindings": {
"80/tcp": [
{
"HostIp": "",
"HostPort": "80"//宿主机ip
}
]
}
4)重启docker服务
systemctl restart docker
5)启动docker服务
systemctl start docker
1)在运行docker容器时可以加如下参数来保证每次docker服务重启后容器也自动重启
docker run --restart=always
2)如果已经启动了则可以使用如下命令 替换成自己的容器id或名称
docker update --restart=always <CONTAINER ID>