我选择了在linux安装,使用的系统是CentOS,下面先安装这个docker。
一、安装CentOS(7|8)
下载地址: https://mirrors.aliyun.com/centos/7.9.2009/isos/.
1.有个得说一下,就是VM配置网关,先找到这个子网IP和子网掩码。
2.以root身份进入虚拟机,输入以下命令:
或者ens33
3.设置网络,wq保存退出。
例2
4.重启下即可,然后连xshell就行了,xshell就不讲了。
二、安装docker
官网教程: https://docs.docker.com/engine/install/centos/.
1.删除已有docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.安装docker工具,这里选择阿里镜像
3.安装docker engine和容器
sudo yum install docker-ce docker-ce-cli containerd.io
启动和停止
sudo systemctl start docker
sudo systemctl stop docker
重启
sudo systemctl restart docker
设置开机启动
sudo systemctl enable docker
查看状态
sudo systemctl status docker
概要
sudo systemctl info
检验
docker -v 或 -version
4.配置镜像加速,打开daemon.json文件,输入镜像,重启docker服务。
三、拉取镜像和创建容器
1.拉取镜像
可以在链接: https://hub.docker.com/.看见对应的软件和版本
docker pull nginx
docker pull centos:7(可以指定版本)
删除镜像
docker rmi redis
删除容器
docker rm myproject1
2.创建容器
守护方式 容器名字 端口 镜像
docker run -it --name niginx1 -p 80:80 nigix 创建并进入容器
docker run -di --name niginx1 -p 80:80 nigix 创建但不进入
进入容器
docker exec -it niginx1 /bin/bash
查看运行容器(查看所有加上 -a)
docker ps
四、目录挂载
我们在创建容器的时候,可以给他制定外部系统的存储地址,可以保持数据同步,这样如果docker没了,那么数据是可以保留下来的。
1.指定目录挂载
docker run -di -v /mydata/docker/data:/usr/local/data --name myproject1 nginx
docker run -di -v /宿主机目录:/容器目录 -v /宿主机目录2:/容器目录2 镜像名字
查看挂载详情
docker inspect myproject1
2.匿名挂载
docker run -di -v /mydata/docker/data --name myproject1 nginx
查看 volumn 数据卷信息
docker volumn ls
就可以看见对应的挂载信息,因为启动容器的时候,会返回一个字符串,拿着这个字符串秘钥查找对应的即可,不过一般保存在/var/lib/docker/volumns/目录下。
3.具名挂载
docker run -di -v docker_data_11:/mydata/docker/data --name myproject1 nginx
即上面的字符串秘钥被替换成了docker_data_11存放在了/var/lib/docker/volumns/目录下。
4.设置权限
docker run -di -v /mydata/docker/data:/usr/local/data:ro(或者rw) --name myproject1 nginx
5.挂载集成
docker run -di -v /mydata/docker/data:/usr/local/data --name myproject1 nginx
即myproject2和myproject3都集成了myproject1的目录挂载
docker run -di --volumes-from myproject1 --name myproject2 nginx
docker run -di --volumes-from myproject1 --name myproject3 nginx