如果已安装,可以先删除
yum -y remove docker-ce 删除已经安装的
安装,biu biu biu 直接复制粘贴不闻不问直接怼
yum -y install yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
systemctl start docker
注意不要粘贴了 防火墙关闭后需要重新启动docker
service docker restart
修改中央仓库地址后 /etc/docker/daemon.json,
链接:修改文件
systemctl daemon-reload
systemctl restart docker
出现报错就是配置文件没有配置好
查看状态systemctl status docker
操作
查看本地全部镜像
docker images
删除本地镜像
docker rmi 镜像的标识(需要先删除该镜像创建的容器)
docker rmi b8dfe9ade316
镜像的导入导出
# 将本地的镜像导出
> 如果因为网络原因可以通过硬盘的方式传输镜像,虽然不规范,但是有效,但是这种方式导出的镜像名称和版本都是null,需要手动修改
docker save -o 导出的路径 镜像id
# 导出到当前路径,镜像命名为:mytomcat
[root@localhost ~]# docker save -o ./mytomcat b8dfe9ade316
# 加载本地的镜像文件
docker load -i 镜像文件
[root@localhost ~]# docker load -i mytomcat
# 修改镜像名称
docker tag 镜像id 新镜像名称:版本
[root@localhost ~]# docker tag b8dfe9ade316 tomcat:8.5
运行容器
# 简单操作
docker run 镜像的标识|镜像名称[:tag]
# 常用的参数
docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像的标识|镜像名称[:tag]
# -d:代表后台运行容器
# -p 宿主机端口:容器端口:为了映射当前Linux的端口和容器的端口
# --name 容器名称:指定容器的名称(自定义)
[root@localhost ~]# docker run -d -p 8888:8080 --name mytomcat8.5 b8dfe9ade316
# 测试:浏览器访问 虚拟机ip:8888
查看日志
docker logs -f 容器id
# -f:可以滚动查看日志的最后几行
[root@localhost ~]# docker logs -f 4411f56f1fbb
进入容器内容部
docker exec -it 容器id bash
[root@localhost ~]# docker exec -it 4411f56f1fbb bash
# 退出当前容器 exit
root@4411f56f1fbb:/usr/local/tomcat# exit
安装tomocat
docker pull 镜像名称[:tag]
[root@localhost ~]# docker pull daocloud.io/library/tomcat:8.5.15-jre8
复制内容到容器内
docker cp 文件名称 容器id:容器内部路径
# 把主机root目录下的a.txt文件拷贝到容器的temp目录下(由于tomcat默认路径在/usr/local/tomcat)
[root@localhost ~]# docker cp /root/a.txt 441:/usr/local/tomcat/temp
# 把容器的temp目录下的a.txt拷贝到主机root目录下
[root@localhost ~]# docker cp 441:/usr/local/tomcat/temp/a.txt /root
重启&启动&停止&删除容器
# 重新启动容器
[root@localhost ~]# docker restart 容器id
# 启动停止运行的容器
[root@localhost ~]# docker start 容器id
# 停止指定的容器(删除容器前,需要先停止容器)
[root@localhost ~]# docker stop 容器id
# 停止全部容器
[root@localhost ~]# docker stop $(docker ps -qa)
# 删除指定容器
[root@localhost ~]# docker rm 容器id
# 删除全部容器
[root@localhost ~]# docker rm $(docker ps -qa)
docker网络
桥接网络(Bridge network):桥接网络是Docker默认的网络模式,它为每个容器分配一个IP地址,并使得容器之间可以相互访问。
主机网络(Host network):主机网络模式将容器直接连接到主机的网络上,容器和主机共享IP地址。这种模式适用于需要容器直接访问主机网络资源的场景。
None网络(None network):None网络模式不为容器配置任何网络,这意味着容器将无法与其他容器或主机通信。这种模式适用于特殊的安全需求,或者在容器中运行网络诊断工具的场景。
Overlay网络(Overlay network):Overlay网络是一个跨主机的网络,可以在多个Docker主机之间创建连接。这种模式适用于需要在多个主机之间运行容器的场景。
MACVLAN网络(MACVLAN network):MACVLAN网络模式可以让容器直接连接到主机网络上,并获得自己的MAC地址。这种模式适用于需要将容器作为物理主机的网络设备使用的场景。
打包
# docker commit 77871ae5de1d zhkkali
docker commit <镜像ID> zhkkali
#docker tag 10aed630f9a3 zhang2035005702/zhkkali:v1.0
docker tag <镜像ID> <你的Docker Hub用户名>/<镜像名称>:<标签>
#docker push zhang2035005702/zhkkali:v1.0
docker push <你的Docker Hub用户名>/<镜像名称>:<标签>