手把手教程:centos下docker的安装与使用

前言:
本篇centos安装在虚拟机下,默认使用root用户。centos服务器安装转载一篇文章https://blog.csdn.net/qq_29940863/article/details/89840245


一、环境准备

1、查看服务器版本
    cat /etc/redhat-release 
    CentOS Linux release 7.6.1810 (Core)
2、关闭selinux
	sestatus -v
	vim /etc/selinux/config
	SELINUX=disable
3、关闭防火墙
	systemctl status firewalld
	systemctl disable firewalld
	systemctl stop firewalld
4、重启
	reboot

二、安装docker

1、更新yum
    yum update
2、安装需要包
    yum install -y yum-utils device-mapper-persistent-data lvm2
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    yum makecache fast
3、安装docker
    yum install docker-ce
4、更改docker镜像源
    vim /etc/docker/daemon.json
    {"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]}
    这里最好使用阿里的镜像服务
    https://homenew.console.aliyun.com/
    搜索 容器镜像服务
    镜像中心 > 镜像加速器(有详细配置教程)
5、启动docker
    systemctl start docker
    systemctl enable docker
    docker -v

三、docker命令

1、查看帮助
    docker --help
   查看详细
    docker inspect 镜像ID|镜像名|容器ID|容器名
    docker stats   查看资源使用情况
2、查看已安装镜像
    docker images
3、搜索镜像
    docker search centos
    docker search mysql
4、拉取镜像
    docker pull centos/mysql-57-centos7
    docker pull centos:7			#':7'表示版本,不加拉取最新的
5、删除镜像
    docker rmi 镜像ID
    docker rmi `docker image -q`	#删除全部镜像
6、查看容器
    docker ps						#查看运行中容器
    docker ps -a					#查看所有容器
    docker ps -f status=exited		#查看停止容器
7、容器操作
    docker run -it --name=mycentos centos:7 /bin/bash 
    docker run -di --name=mycentos2 centos:7
    docker exec -it mycentos2 /bin/bash
    -i		运行
    -t		交互式
    -d		守护式
    --name	命名
    -p		端口映射
    -v		目录映射
    docker stop|start 容器ID或名称 
    docker cp anaconda-ks.cfg mycentos2:/home
    docker cp mycentos2:/home/a.cfg .
    docker run -id --name=mycentos3 -v /root/dh/mytest:/usr/local/mytest centos:7	#宿主机目录:docker目录
    docker inspect mycentos3
    docker inspect --format '{{.NetworkSettings.IPAddress}}' mycentos3
    docker rm mycentos3
    docker run -id --name=mysqltest -p 33306:3306 -e MYSQL_ROOT_PASSWORD=111 centos/mysql-57-centos7

四、docker备份迁移

1、容器备份为镜像
    docker commit mycentos3 mycentos3_image
2、镜像保存为本地文件
    docker save -o test.tar mycentos3_test	# -o output
3、本地文件还原为镜像
    docker rmi mycentos3_test
    docker load -i test.tar					# -i input

五、Dockerfile

1、创建dockerfile目录
    mkdir /usr/local/dockerjdk
    cd /usr/local/dockerjdk
    下载jdk-8u121-linux-x64.tar.gz至此目录
2、编辑Dockerfile文件
    vim Dockerfile
    
    FROM centos:7						#定义基础镜像
    MAINTAINER fxyz						#声明创建者
    WORKDIR /usr						#定义工作目录
    RUN mkdir /usr/local/java			#执行命令
    ADD jdk-8u121-linux-x64.tar.gz  /usr/local/java		#本地上传(自动解压)
    COPY jdk-8u121-linux-x64.tar.gz  /usr/local/java	#本地上传(不自动解压)
    ENV JAVA_HOME /usr/local/java/jdk1.8.0_121			#配置环境
    ENV JRE_HOME $JAVA_HOME/jre
    ENV CLASSPATH $JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
    ENV PATH $JAVA_HOME/bin:$PATH
    
    :wq
3、使用Dockerfile创建镜像并查看
    docker build -t='jdk1.8' .		# .表示Dockerfile的路径
    docker images
    docker run -it --name=jdk jdk1.8 /bin/bash
    echo $JAVA_HOME
    java -version

五、docker私有镜像

1、拉取私有仓库镜像
    docker pull registry
2、启动私有仓库容器
    docker run -di --name=registry -p 5000:5000 registry
3、验证
    浏览器访问http://localhost:5000/v2/_catalog
    返回{"repositories":[]}
4、添加信任
    vim /etc/docker/daemon.json
    {
	"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
	"insecure-registries": ["192.168.9.141:5000"]
	}
	systemctl restart docker
	docker start registry
5、上传
    docker tag mycentos3_test 192.168.9.141:5000/mycentos3_test
    docker images
    docker push 192.168.9.141:5000/mycentos3_test
    浏览器访问http://localhost:5000/v2/_catalog
    返回{"repositories":["mycentos3_test"]}
6、从其它服务器拉取
    重复4
    docker pull 192.168.9.141:5000/mycentos3_test

六、补充

1、docker参数
    --rm		容器退出后随之将其删除
    -e			指定key=value传递到环境变量
2、更改docker目录
    https://www.cnblogs.com/bigberg/p/8057807.html
3、docker停止所有容器
    docker stop $(docker ps -aq)
4、转载
    https://cloud.tencent.com/developer/column/3110
5、清理慎用
    docker system prune
6、privileged参数
    用法
    docker run --name=test --privileged=true image:version /bin/bash
    默认为false。
    当为true时使容器的root权限拥有宿主机的root权限,
    否则容器的root是宿主的一个普通user。
    最直观的变化是为true时,可以在容器里使用mount命令。
7、制作镜像注意事项
    配置环境变量最好放到.bashrc下,
    /etc/profile文件启动容器时可能会被覆盖。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值