Docker 的组成
Docker 主机(Host):一个物理机或虚拟机,用于运行 Docker服务进程和容器。
Docker 服务端(Server):Docker 守护进程,运行 docker 容器。
Docker 客户端(Client):客户端使用 docker 命令或其他工具调用 docker API。
Docker 仓库(Registry): 保存镜像的仓库,类似于 git 或 svn 这样的版本控制系
Docker 镜像(Images):镜像可以理解为创建实例使用的模板。
Docker 容器(Container): 容器是从镜像生成对外提供服务的一个或一组服务。官方仓库: https://hub.docker.com/
Docker安装
yum 阿里云安装
tips :如果缺少selinux包到这里下载
https://centos.pkgs.org/7/centos-extras-x86_64/container-selinux-2.107-1.el7_6.noarch.rpm.html
yum install -y sudo yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
sudo yum list docker-ce.x86_64 --showduplicates | sort -r #查找版本
sudo yum -y install docker-ce #指定版本yum -y install docker-ce-18.06.3.ce-3.el7
sudo service docker start
启动
[root@Docker ~]#systemctl start docker
[root@Docker ~]#systemctl enable docker
常用指令
[root@Docker ~]#docker version #查看版本
[root@Docker ~]#docker info #查看相关信息
[root@Docker ~]#xfs_info / #查看相关引擎,推荐 overlay2
如果 docker 数据目录是一块单独的磁盘分区而且是 xfs 格式的,那么需要在格
式化的时候加上参数-n ftype=1,否则后期在启动容器的时候会报错不支持 d-type。
mkfs.xfs -n ftype=1 /dev/sdb
[root@Docker ~]#pstree -p 1 #查看进程信息
解决出现警告
#出现警告
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
vi /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
sysctl -p
docker WARNING: IPv4 forwarding is disabled. 解决方法
echo net.ipv4.ip_forward=1 >> /usr/lib/sysctl.d/00-system.conf
systemctl restart network && systemctl restart docker
docker 镜像加速配置
获取加速地址 : http://cr.console.aliyun.com 在镜像加速器里面。自己专属加速器
下载镜像
下载镜像
[root@docker-server1 ~]# docker pull 仓库服务器:端口/项目名称/镜像名称:tag(版本)号
[root@docker-server1 ~]# docker pull alpine
[root@docker-server1 ~]# docker pull nginx
[root@docker-server1 ~]# docker pull hello-world
[root@docker-server1 ~]# docker pull centos
[root@docker-server1 ~]# docker images
常用指令
启动容器
docker run -it docker.io/centos bash #退出不注销
docker run -d -P --name nginx-test1 docker.io/nginx #后台运行指定名字
查看所有容器
docker ps -a
前台启动
[root@ubuntu wang]#docker run -P docker.io/nginx
端口号是从32768开始 lsof -i:32768 #查看进程信息。
后台启动
[root@ubuntu]#docker run -d -P --name nginx-test1 docker.io/nginx
#开启关闭
docker ps #查看进程
docker stop f821d0cd5a99
docker start f821d0cd5a99
docker stop $(docker ps -a -q) #关闭全部
docker kill id进程名字。
#修改tag,修改版本号
docker tag centos:laster centosnew:18.04