一、配置选项
1.#调整docker源
curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.#开启linux流量转发功能
cat <<EOF > /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
net.ipv4.conf.default.rp_filter =0
net.ipv4.conf.all.rp_filter =0
net.ipv4.ip_forward=1
EOF
modprobe br_netfilter
sysctl -p /etc/sysctl.d/docker.cont
3#配置docker加速器
##https://cr.console.aliyun.com/cn-hangzhou/instances/mirrorsmkdir -p /etc/docker
vi /etc/docker/daemon.json
方法1
{
"registry-mirrors":[
"https://8xpk5wnt.mirror.aliyuncs.com"
]
}
方法2
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://dockerproxy.com"
]
}
二、开机有基本操作
systemctl enable docker
systemctl daemon-reload
ps aux |grep docker
docker ps
docker images
5.镜像基本操作 (实在太简单没啥可写的)
docker search nginx
docker pull nginx
docker image ls
docker rmi 605c77e624dd #可以是IMAGE ID
docker run -d -p 80:80 nginx
#-d 后台运行 ,-p端口映射 宿主机:容器 , id或者名称
docker ps
docker ps -a #查看所有进程包括删除的
docker stop 605c77e624dd
docker start 605c77e624dd
docker info |grep root #信息|安装位置
docker rm f1635b8377e5 #删除容器
docker rm ‘docker ps -aq’ # ‘’符号内的是查询结果,此命令是删除docker内的所有查询出的记录。(慎用)
docker rmi centos #删除镜像,可以是名称或者Id
导出镜像
原centos没有安装vim工具,yum安装后导出镜像
docker image save centos:7.8.2003 > /opt/centos7.8.2003.tgz
导入镜像
docker rmi centos:7.8.2003
docker image load -i /opt/centos7.8.2003.tgz
三、更换容器内的操作系统
docker pull centos
docker pull uuntu
docker run -it afb6fca791e0 bash # -t 交互式, -t 开启一个终端, 运行IMAGE ID, bash 进入容器后使用的命令
#操作后命令号前缀变更为系统目录
exit 退出
不光可以进入操作系统镜像,也可以进入到软件如nginx镜像里。因为nginx是必须运行在某一个发行版操作系统上
如进入到一个正在运行的nginx镜像时时
docker ps
docker exec -it afb6fca791e0 bash
cat /etc/os-release #查看到nginx的发行版是debian
四、容器提交到新的镜像
如:原有容器内系统未安装vim,安装后提交成新的容器
docker run -it centos:7.8.2003 bash
yum install vim -y
docker commit 容器ID xxx/centos-vim.7.8.2003 #新的名字,前面是dockerhub账号/新名称
五、dockerfile
自定义docker镜像的每一层的作用:以下
1.文件程序
2.依赖环境 --tomcat
3.依赖环境 --jdk
4.rootfs docker获取各发行版镜像
4.宿主机内核