docker 一

1.查看docker安装目录
whereis docker
docker: /usr/bin/docker /etc/docker /usr/libexec/docker /usr/share/man/man1/docker.1.gz

2.查询运行文件所在路径
which docker
/usr/bin/docker

3.启动docker
Docker应用需要用到各种端口,逐一去修改防火墙设置。非常麻烦,因此建议大家直接关闭防火墙!

启动docker前,一定要关闭防火墙后!!

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
#查看是否关闭防火墙
systemctl status firewalld


4.通过命令启动docker:

systemctl start docker  # 启动docker服务
systemctl stop docker  # 停止docker服务
systemctl restart docker  # 重启docker服务
systemctl status docker  # 查看docker启动状态
systemctl enable docker  # 开机启动docker

docker -v 查看docker版本


5.配置镜像加速
docker官方镜像仓库网速较差,我们需要设置国内镜像服务:

参考阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

##创建文件夹
sudo mkdir -p /etc/docker

> ##在文件夹内新建一个daemon.json文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://akchsmlh.mirror.aliyuncs.com"]
}
EOF

##重新加载文件
sudo systemctl daemon-reload
##重启docker
sudo systemctl restart docker


6.Docker镜像命令
查看自己服务器中docker 镜像列表
docker images

搜索镜像
docker search redis

拉取镜像
docker pull 镜像名
docker pull 镜像名:tag
不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest 加:tag 则是拉取指定版本

保存镜像
docker save 镜像名/镜像ID -o 镜像保存的名字 镜像保存的tag
例如:docker save -o redis.tar redis:latest

删除镜像
docker rmi -f 镜像名/镜像ID
docker rmi -f 镜像名:5.0

删除全部镜像
docker rmi `docker images -q`

加载镜像
docker load -i 镜像保存文件位置
例如:docker load -i redis.tar

 7.卸载
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

8.安装
首先需要大家虚拟机联网,安装yum工具
yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken

然后更新本地镜像源:
# 设置docker镜像源
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast


然后输入命令:
yum install -y docker-ce


# 1、yum包更新到最新
yum update
#2、安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum insta1l -y yum-utils device-mapper-persistent-data lvm2
#3、设置yum源
yum-config-manager --add-repo https: // download.docker. com/linux/centos/docker-ce.repo
#4、安装docker ,出现输入的界面都按y
yum install -y docker-ce
#5、查看docker版本,验证是否验证成功
docker -v


9.容器相关命令
查看容器
docker ps 查看正在运行的容器
docker ps -a查看全部状态的容器
docker ps -aq
创建容器
docker run -it --name=grafana grafana/grafana
-i 一直运行
-t输入终端
--name=c1
-it 创建后进入容器,退出就关闭了

docker run -id --name=grafana grafana/grafana

-id 创建完不会进入容器内部
要用命令进去

进入容器
docker exec -it grafana /bin/bash
退出容器
exit
启动容器
docker start grafana
停止容器
docker stop grafana
删除容器
docker rm grafana
docker rm `docker ps -aq `  删除所有容器
查看容器信息
docker inspect grafana

10.docker数据卷
数据卷 
概念:宿主机中的一个目录或者文件
当容器目录和数据卷目录绑定后,对方的修改会立即同步
一个数据卷可以被多个容器同时挂载
一个容器也可以挂载多个数据卷

数据卷的作用:
容器数据持久化
外部机器和容器间接通信
容器之间数据交换

配置数据卷:
创建启动容器时,使用-v参数 设置数据卷
docker run ... -v 宿主机目录(文件):容器内目录(文件)

注意:
目录必须是绝对路径
如果目录不存在,会自动创建
可以挂载多个数据卷

docker run -id --name=grafana1 -v /root/data:/root/data_container  grafana/grafana /bin/bash
1.持久性
docker run -it --name=grafana5 -v /root/data1:/root/data1_container  grafana/grafana /bin/bash
docker run -it --name=redis -v /root/data:/root/data_container  redis /bin/bash
删除容器,宿主机里的目录里的文件还存在
在重新建一个容器

docker run -it --name=redis -v ~/data:/root/data_container  redis /bin/bash
只有宿主机 ~可以写,代表root 但是容器里只能写root
到data_container 目录挂载上 里面的文件还在
2.
挂两个容器
docker run -it --name=c1 -v ~/data2:/root/data_container2   -v ~/data3:/root/data_container3 centos /bin/bash


docker删除后,在容器中产生的数据还在吗?
不在
docker和外部容器可以直接交换文件吗?
不可以
容器之间想要进行数据交互?


容器里面用不能用ll
需要执行命令
echo "alias ll='ls -rltha'" >> ~/.bashrc && source ~/.bashrc


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值