我的世界docker镜像包下载
本系列为Docker的学习笔记,内容比较精简,主要用于快速复习和随时查询。计划分六个章节内容:
- 安装、常用命令和基本概念理解
- 常用应用程序的容器部署
- 制作镜像的两种方式(容器转镜像和Dockerfile)
- 布署一个ASP.NET Core项目
- 服务编排Docker compose
一、安装Docker
二、Docker服务相关命令
1、启动/停止/重启/后台运行/查看服务状态
systemctl 【start | stop | restart | enable | status】 docker
三、镜像相关命令
1、查看本地所有镜像/搜索远程镜像/拉取镜像/删除镜像
docker 【images | search (redies) | pull (redies:7) | rmi (redis:7 | e42dd4e79c7) | 】
2、查看所有镜像ID
docker images -q
3、删除所有镜像
docker rmi `docker images -q`
四、容器相关命令
1、创建容器
docker run 【-it | -id】 --name=c1 --restart=always centos:7 /bin/bash
-it:创建容器(交互式),立即进入容器,并开启一个终端,exit退出容器后,容器立即关闭。-i为进入容器,-t为交互式。
-id:创建容器(守护式),并一直在后台运行,进入容器并exit退出后,容器不会关闭。-i为进入容器,-d为守护式(后台运行)
--name:容器命名
--restart:docker重启时,容器自动启动
/bin/bash:进入容器的初始化指令,打开shell脚本窗口。如果进入mysql的容器,直接跟mysql命令,直接进入mysql客户端。
2、查看正在运行的容器:
docker ps
3、查看正在运行和已经退出的容器:
docker ps -a
4、进入容器
docker exec -it c2 /bin/bash
-it:进入容器,并开启一个终端
c2:容器名称
/bin/bash:进入容器的初始化指令,打开shell脚本窗口
5、退出容器
exit
6、启动容器/关闭容器/删除容器/查看容器信息。注:start容器后,容器自动转为守护式
docker 【start | stop | rm | inspect】 c1
7、查看所有容器ID
docker ps -aq
8、删除所有容器
docker rm `docker ps -aq`
9、查看日志(c1为容器名)。-f,一直跟踪日志
docker logs [-f] c1
五、数据卷相关命令
1、创建容器时配置数据卷
docker run -id --name=c1 -v /root/data_linux:/root/data_container centos:7 /bin/bash
-v:设置数据卷,如果要挂载到多个数据卷,可以多次-v;如果要挂载多个容器数据目录,则每个容器创建时挂载相同的数据卷即可
/root/data_linux:/root/data_container:冒号前为数据卷目录的绝对路径,冒号后为容器数据目录的绝对路径
容器删除后:容器数据丢失,但数据卷仍然在。重新创建容器时,重新挂载到数据卷目录,即可恢复容器数据
数据卷地址:一般通过宿主机的绝对地址指定数据卷的本地地址。也可以只指定数据卷名称,如【-v volumeName:/root/data_container】,这样docker会在宿主机/var/lib/docker/volumes目录下创建相应的数据卷。
一个应用需要挂载哪些数据卷:可以通过docker的官方镜像仓,查看镜像文档,一般需要挂载数据、配置、初始化数据等
2、配置数据卷容器:
①创建数据卷容器(/volume可以自己定义):
docker run -id --name=c3 -v /volume centos:7 /bin/bash
②创建c1和c2容器,并挂载到c3上(--volumes-from为设置属性命令)
docker run -id --name=c1 --volumes-from=c3 centos:7 /bin/bash
docker run -id --name=c2 --volumes-from=c3 centos:7 /bin/bash
完成以上两个步骤,inspect查看c3、c1和c2,找到以下信息
"Source": "/var/lib/docker/volumes/de83e5ea073ca277882694995f88137b2933e1f695362590103760f166923b04/_data",
"Destination": "/volume",
如上,Source目录即为在宿主机上自动创建的数据卷,Destination即为容器数据目录
六、容器网络相关命令
1、查看所有容器网络
docker network ls
2、查看本机网卡(每个容器网络,都有一个相对应的虚拟网卡,还有系统的其化虚拟网卡)
ip addr
3、查看容器的网络信息。c1为容器名,其中有一项“NetWork”,描述了容器的网络信息。
docker inspect c1
4、创建/删除/清除未使用/查看容器网络。n1为网络名。
docker network 【create | rm | prune | inspect】 n1
5、加入/移出/查看容器网络,n1为网络名,c1为容器名。一个容器可以加入多个虚拟网络。
docker network 【connect | disconnect】 n1 c1
6、创建容器时就加入网络。这种方式,容器只会加入指定网络,而不会加入默认的“docker0”网络。n1为网络名称,需要先创建。
docker run -d --name mysql -p 3306:3306 --network n1 mysql:5.7
七、基本概念的理解
八、最后上图理解