Centos7 安装 Docker
Docker 要求 CentOS
系统的内核版本高于 3.10 。
不要使用 root
用户管理 Docker
。
1 | uname -r |
版本底的可以不用向下看了。
1、基本操作
1 | sudo rpm -qa|grep docker |
使用 repository
1 | # 需要挂载 ISO 镜像 |
查看docker版本
1 | sudo yum list docker-ce --showduplicates | sort -r |
安装docker
1 | sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin |
当 GPG key
为 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
出入 y 继续.
启动 Docker
1 | sudo systemctl start docker |
测试
1 | sudo docker run hello-world |
会打印一条 Hello from Docker!
然后退出。
更新
从 get.Docker. com
下载脚本,然后运行它在 Linux
上安装最新的 Docker
稳定版本:
1 | sudo curl -fsSL https://get.docker.com -o get-docker.sh |
配置修改
1 | sudo vim /etc/docker/daemon.json |
registry-mirrors
镜像dns
hosts
远程访问
1 | { |
远程访问配置
"hosts": ["unix:///var/run/docker.sock", "tcp://127.0.0.1:2375"]
其它源
1 | { |
服务
1 | sudo vim /lib/systemd/system/docker.service |
将第11行的ExecStart=/usr/bin/dockerd,替换为:
1 | #ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -H tcp://0.0.0.0:7654 |
2375
是管理端口,7654
是备用端口
在~/.bashrc
中写入docker
管理端口
1 | export DOCKER_HOST=tcp://0.0.0.0:2375 |
开机自启
1 | sudo systemctl enable docker.service |
查看 docker
信息
1 | docker info |
添加 docker
组用户
1 | sudo usermod -aG docker $USER |
完全退出后,重新登录,然后不适用 sudo
测试
1 | docker run hello-world |
2、常用命令
镜像相关
1)docter pull NAME[:TAG] 使用pull命令从docker hub仓库下载镜像到本地
2)docker tag oldName newName 为本地镜像添加新的标签
3)docker images 列出本地主机上已有的镜像
4)docker search TERM 默认搜索docker hub官方仓库的镜像
5)docker rmi IMAGE [IMAGE…] IMGE可以是标签或id
6)docker commit [OPTIONS] CONTAINER[REPOSITORY[:TAG]] 基于已有镜像的容器创建镜像,可以创建比较复杂的镜像。-a:作者信息,-m:提交信息,-p:提交时暂停容器运行
7)docker import -NAME[:TAG] 基于本地模板导入镜像
8)docker build -t NAME[:TAG] dockerfile路径 基于dockerfile创建
9)docker save –o xxx.tar NAME[:TAG] 存出镜像到本地文件
- docker load <xxxx.tar 载入镜像
11)docker inspect 镜像id 查看镜像详细信息
容器相关
1)docker create –it NAME[:TAG] 创建容器
2)docker start NAME[:TAG] 启动容器
3)docker run –it NAME[:TAG] 等于先执行docker create命令,再执行docker start,-it交互式,守护态运行,通过run后加-d实现
4)docker stop[-t|–time[=10]] 终止容器
5)docker restart NAME[:TAG] 启动状态重新启动
6)docker ps –a –q 查看处于终止的容器id信
7)docker ps 查看正在运行的容器
8)docker ps –a 查看所有容器
9)docker rm 容器id 删除容器,需要先停止
10)docker logs 容器id 查看容器日志
11)docker port <container-name|container-id> 端口 查看容器映射端口
12)docker inspect 容器id 查看容器信息
13)docker exec -u root -it containerID /bin/bash 指定用户进入容器操作
14)env 容器内部输入env查看容器内部环境变量
15)docker cp
16)docker cp container-id:
17)docker network create app_net 创建自定义网络
18)docker network connect app_net container-name连接网络
19)docker run -it -v /dbdata –name dbdata 创建数据卷容器dbdata,并在其中创建数据卷挂载到/dbdata。其他容器挂载使用–volumes-from dbdata,可以多次使
用,从多个容器挂载多个数据卷,还可以从一挂载数据卷的容器来挂载数据卷,且使用–volumes-from 参数所挂载数据卷的容器自身不需要保持运行,要删除一个数据卷
必须在删除最后一个还挂着它的容器时显示使用docker rm -v命令来指定同时删除关联的容器
原文:https://blog.csdn.net/songer_xing/article/details/78599197
本文地址 Centos7 安装 docker
3、迁移镜像
保存镜像到本地
保存镜像命令
1 | docker save -o 本地文件名 要保存的镜像 |
查看镜像
1 | docker images |
保存一个镜像
1 | docker save -o redis.tar redis |
导入镜像
1 | docker load --input 文件 |
卸载 Docker
1 | sudo yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin |
重装
1 | sudo yum remove docker \ |
附录
daemon.json
windows
下的地址C:\Users\${USER}\.docker\daemon.json
linux
下的地址/etc/docker/daemon.json
1 | sudo mkdir -p /etc/docker |
其它配置
1 | { |
允许请求转发
1 | vim /etc/sysctl.conf |
写入
1 | net.ipv4.ip_forward=1 |
重启
1 | sudo systemctl daemon-reload |
web管理工具portainer
1 | docker volume create portainer_data |
离线安装
1 | mkdir ~/docker |
已经安装可以使用 reinstall
配置信任
1 | { |