1.yum -y install gcc 安装gcc
2.yum -y install gcc-c++ 安装gcc++
3.gcc -v 验证是否安装成功
安装需要的软件包
4.sudo yum install -y yum-utils device-mapper-persistent-data lvm2
设置yum源
5.sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6.更新yum索引
yum makecache fast
7.安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
8.启动docker
systemctl start docker
9.查看docker版本
docker version
10.开机自启动
sudo systemctl enable docker
安装完毕
docker中每个参数的意思:
docker ps 查看正在运行docker容器
docker ps -a 查看所有容器
docker pull 下载镜像容器
docker -v 查看docker版本
启动docker服务: systemctl start docker
停止docker服务: systemctl stop docker
重启docker服务: systemctl restart docker
查看docker服务状态: systemctl status docker
设置开机启动docker服务: systemctl enable docker
容器随虚拟机启动而启动:(后面是服务名称)
docker update --restart=always tracker
docker update --restart=always storage
-i:表示运行容器
-t:容器启动后进入其命令行
-name:为容器命名
-v:表示目录映射关系
-d:守护式容器
-p:表示端口映射,前面是宿主机端口,后面是容器内的映射端口,可以使用多个
exit:退出容器
-e:添加环境变量 表示远程登录
案例:docker run -di --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root
mysql
镜像命令:
搜索镜像:docker search 软件名
拉取镜像: docker pull 软件名
查看镜像:docker images
删除镜像:docker rmi centos/镜像id
删除本地所有镜像:docker rmi docker images -q
慎用有两个 ``看的不是很清楚
容器命令:
查看容器:docker ps
创建并启动交互式容器:
docker run -it --name=mycentos7 centos:7 /bin/bash
创建并启动守护式容器
docker run -di --name=myMySQL mysql5.7
启动容器后进入容器
docker exec -it myMySQL /bin/bash
或者
sudo docker attach 容器名/id
拷贝文件:
docker cp 容器名/文件 复制位置 /root
目录挂载:
创建linux宿主机要挂载的目录
mkdir /usr/local/test
创建守护式容器
docker run -di -v /usr/local/test:/usr/local/test --name=mycentos3(自定义名称) centos:7(镜像名称)
添加参数–privileged=true来解决挂载目录没有权限的问题
查看容器ip:docker inspect 容器id
删除容器:docker rm 容器id或者名称
docker run --link
docker run --link可以用来链接2个容器,使得源容器(被链接的容器)和接收容器(主动去链接的容器)之间可以互相doc通信,并且接收容器可以获取源容器的一些数据,如源容器的环境变量
迁移与备份
制作镜像:docker commit mynginx(容器名) mynginx(自定义名)
备份镜像:docker save -o mynginx(容器名).tar mynginx(自定义名)
恢复镜像:docker load -i 镜像名称.tar
镜像的迁移与备份使得开发与测试环境无差异