制作docker镜像小记
1、将初始化的操作系统转化为镜像
### 其中--exclude可以将无关的文件或目录排除在外
tar --numeric-owner --exclude=/proc --exclude=/sys -cvf centos7-base.tar /
2、导入镜像
docker import centos7-base.tar
镜像的导入还有docker load
,导出有docker export
和docker save
。export和import搭配使用,save和load搭配使用。区别联系这里不讲了。
3、容器的启动
### 查看镜像
docker images
### 启动容器
docker run -itd --privileged=true --net=bridge --name sdds img:1.0 /usr/sbin/init
## --privileged=true是容器获得宿主机权限,
## /usr/sbin/init 启动容器后可使用systemctl ,对于ubantu系统使用/sbin/init
## --net为网络连接方式
其他参数如下:
参数 | 意义 |
---|---|
-P | 全端口映射 |
-p | 端口映射,-p 3443:443 宿主机端口:容器端口 |
-itd | -it以交互模式运行并返回一个伪终端,加-d以后表示后台执行。连在一起就表示在后台运行这个docker |
–privileged=true | 开启特权模式,可以使用容器拥有真正的root权限 |
–restart=always | 容器在设备重启时,自动重启 |
–cpuset-cpus | 设置cpu使用那几个 |
–memory=3G | 设置内存占用 |
–device-write-bps | 设置磁盘写速率 |
–device-read-bps | 设置磁盘读速率 |
–net=bridge | 以桥接方式连接docker |
–name | 设置容器名称 |
4、容器内服务启动失败,若报错为:Error getting authority: Error initializing authority: Could not connect: No such file
## 进入容器
docker exec -it containerName /bin/bash
## cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Fri Mar 18 03:04:20 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_linux_267-lv_root / xfs defaults 0 0
UUID=17767773-e93a-4207-8e05-ad41c551fdfe /boot xfs defaults 0 0
#UUID=0af36fce-71b6-4ced-9fe1-33bbc02aa115 swap swap defaults 0 0
## 会发现/boot的一块盘,将这行注释,如下:
/dev/mapper/vg_linux_267-lv_root / xfs defaults 0 0
#UUID=17767773-e93a-4207-8e05-ad41c551fdfe /boot xfs defaults 0 0
#UUID=0af36fce-71b6-4ced-9fe1-33bbc02aa115 swap swap defaults 0 0
## 然后重启
reboot
## 或者退出重启容器
exit
docker restart containerName
## 在对基础镜像做了修改后,我们要保留修改,可以使用docker commit 提交更改 -a是作者信息,-m是提交的信息
docker commit -a="snow" -m"inital sdds" f080fa8f2723 img:2.0
##另外一种办法是在容器内部重新生成新的镜像
5、piperwork的使用
pipework eth0 5cd1494671e9 192.168.10.10/24@192.168.10.254
解释
字段名 | 意义 |
---|---|
eth0 | 网卡名,容器中是eth0 |
5cd1494671e9 | 容器id |
192.168.10.10/24 | 需要给容器配置的ip及掩码 |
192.168.10.254 | 网关 |