一、镜像加速
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是阿里的镜像地址:(点击领取阿礼云2000元代金券)
在/etc/docker/daemon.json
文件中添加如下内容:
{ "registry-mirrors": ["https://wghlmi3i.mirror.aliyuncs.com"] } 或者使用如下地址 { "registry-mirrors": ["https://registry.docker-cn.com"] }
修改保存后重启 Docker 以使配置生效,至此,大功告成!!!
二、修改网卡docker0的IP及容器实例默认网段
Docker 服务启动后默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。
Docker 默认指定了 docker0 接口 的 IP 地址和子网掩码,让主机和容器之间可以通过网桥相互通信,它还给出了 MTU(接口允许接收的最大传输单元),通常是 1500 Bytes,或宿主主机网络路由上支持的默认值。这些值都可以在服务启动的时候进行配置。
可以用编辑/etc/docker/daemon.json
文件,添加内容 "bip": "ip/netmask"
[ 切勿与宿主机同网段 ]
[root@localhost /]# vi /etc/docker/daemon.json {"bip":"192.168.100.1/24"}
三、让docker容器的操作像物理机一样
默认情况下,在docker容器中很多命令和操作是不被允许的,比如:systemctl、service、mount挂载物理机磁盘等等。
这是因为我们启动docker容器实例时没有开启“特权模式
”,同时我们要提前执行/usr/sbin/init
。
[root@localhost ~]# docker run -d centos --privileged -it centos /usr/sbin/init # 命令格式:docker run -d --privileged -it 镜像名/ID /usr/sbin/init
四、使docker容器实例开机自启动
一般情况下docker容器实例一旦物理机关闭再开机后是不会自行启动的,需要我们手动运行,如果实例较少的话还好,一旦数量上来了就很麻烦。
这时我们可以在创建实例的时候就指定其跟随系统自启动,前提是你的docker服务是开机自启动的
。
[root@localhost ~]# docker run -d --restart=always centos
当然如果,你想为已经创建过的容器实例赋予随系统启动自启动也是可以的
[root@localhost ~]# docker container update --restart=always 容器名
五、docker容器实例的重命名
默认情况下当我们创建一个docker实例时,实例的名称是随机生成的很难记住,这就给我们后续的操作带来很多不便,每次操作还要先查询实例名称/ID。
因此,一个简明易记的名称就显得很重要了。
[root@localhost ~]# docker rename determined_goldberg openvpn-serve # 语法:docker rename 旧容器名 新容器名
六、docker容器实例主机名的指定
我们在日常使用中每一台服务器往往都用来运行特定的服务,因此我们往往也会根据其运行服务的不同为服务器设定简明知意的主机名,以方便日常维护和使用。
而docker实例中的主机名也是随机生成的,并且我们通过修改实例中的/etc/hostname
文件是不起作用的。
今天就教大家在创建实例的时候就给实例指定一个你想要的的主机名。当然也可以在指定主机名时同时直接指定容器实例的名称
[root@localhost ~]# docker run -d --name zabbix-server -h zabbix-server centos # 语法:docker run -d --name 容器器实例名称 -h 实例主机名 镜像名
原文链接:https://blog.csdn.net/one2more/article/details/97367440