docker的安装和基本使用

1. docker安装

  1. 删除旧版本

  2. yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
    
  3. 下载依赖包

    yum install -y yum-utils device-mapper-persistent-data lvm2
    
  4. 配置仓库源
    仓库源目录:/etc/yum.repos.d/*.repo

    yum-config-manager \
        --add-repo \
    	https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
    
  5. 安装docker

    yum install docker-ce docker-ce-cli containerd.io
    
  6. 开启docker服务

    systemctl enable docker
    systemctl start docker
    

2. 镜像

  1. 【下载镜像】

    docker search name    # 搜索对应镜像
    docker pull name		# 下载对应镜像,默认最新版本,也可以在添加版本,如centos:7.4.1804
    
  2. 【查看镜像】

    docker image ls		# 查看已下载镜像
    docker image inspect centos:latest/image_id		# 查询对应image的详细 
    
  3. 【镜像的导入/导出】

    docker image save nginx > nginx.tar.gz		# 将镜像导出到文件
    docker image load -i nginx.tar.gz 			# 从文件导入镜像
    
  4. 【镜像删除】

    docker image rm image_id  		# 删除镜像   -f 强制删除,解决依赖
    docker image rm `docker image ls -q`		# 删除所有镜像
    
  5. 【镜像命名】

    docker image tage image_id  haha:v1.0	# 命名并且命名版本号	(如果已经有标签会生成一个新的快捷方式)
    

3. 容器

  1. 【容器的运行】

    docker run -it nginx /bin/bash		# 使用对应镜像启动容器(镜像名称看需要带版本)
    			-i 	# 交互式操作
    			-t 	# 终端模式	
    			/bin/bash		# 进入容器执行的命令
    			-d	# 后台运行
    			--name haha		# 给容器命名
    			--rm image_id	# 在退出容器的同时删除容器(用于测试环境)
    			-p 8080:80		# 端口映射(将主机8080端口映射到容器80端口)
    			-v /opt/html:/usr/share/nginx/html		# 文件映射(主机文件—>容器目录)
    docker start container_id	 # 启动对应容器
    docker restart container_id		# 重新启动一个容器
    
  2. 【查看容器】

    docker container ls -a		# 查看所有容器
    docker container inspect container_id	# 查看容器详细
    
  3. 【容器的停止】

    exit		# 在对应终端停止对应容器
    docker 	stop container_id		# 停止对应容器
    
  4. 【进入容器】

    docker exec -it container_id /bin/bash	# 进入容器(子进程),退出容器时不会关闭容器
    docker attach container_id		# 进入容器(主进程),退出容器时会关闭容器
    
  5. 【让交互式容器放到后台】

    ctrl + p q
    
  6. 【容器的网络映射】

    -p 8080:80		# (将主机8080端口映射到容器地址80端口)
    -p 10.0.0.1:8080:80	# (将主机10.0.0.1:8080映射到容器地址80端口)
    -p 80		#(将主机的一随机端口映射到地址80端口)
    -p 10.0.0.1::80  	# (将主机10.0.0.1的某一端口映射到容器地址80端口)
    -p 8080:80/udp	# (udp协议,将主机8080端口映射到容器地址80端口)
    
  7. 【其他命令】

    docker container top container_id		# 查看对应容器的进程
    docker container logs container_id		# 查看对应容器日志
    			-t  # 时间排序
    			-f	# 显示时间戳
    			-tail 10	# 显示最后10条
    

4. 数据卷使用

手工交互数据:

docker container cp a.txt container_id:/etc/		# 拷贝文件到容器某位置(反过来也行)

数据卷Volume: (文件映射主机文件—>容器目录)

docker run -d -p 80:80 -v /opt/html:/usr/share/nginx/html nginx		# (文件映射 )

【数据卷容器】
当拥有数个需要添加数据卷的服务启动时,一个个映射太过繁琐,通过新建一个中间的数据卷容器,可以在用户启动其他容器时省去了数据卷的映射。

① 在宿主机创建目录

mkdir -p /opt/Volume/a

② 启动数据卷容器(用一个centos镜像做数据卷容器)

docker run -it --name “nginx_volumes” -v /opt/Volume/a:/opt/a centos:7.4 /bin/bash
ctrl p q

③ 使用数据卷容器

docker run -d -p 8080:80 --volumes-from nginx-volumes --name  “http” nginx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值