欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker安装及基本操作

程序员文章站 2024-01-22 22:56:52
...

Docker安装及基本操作

环境准备

  1. 一台服务器

  2. 操作系统:CentOS 7.5


hub docker

  1. 链接地址:https://hub.docker.com注册一个自己的docker仓库,自己去注册就行了

  2. 进入我们的仓库
    Docker安装及基本操作

  3. 创建一个镜像仓库

Docker安装及基本操作

  1. 仓库内容

Docker安装及基本操作


docker安装

  • 安装依赖包

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    
  • 设置阿里云镜像源

    sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
    
  • 安装 Docker-CE

    sudo yum install docker-ce
    
  • 启动docker

    # 开机自启
    sudo systemctl enable docker 
    # 启动docker服务  
    sudo systemctl start docker
    
  • 查看docker版本信息

    docker -v
    

doker安装centos7镜像

##拉取centos7镜像
[aaa@qq.com ~]# docker pull centos:7
1
[aaa@qq.com ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              centos7.1.1503      e1430271e2f9        16 months ago       212MB
##启动镜像centos7,如果不指定 /bin/bash,容器运行后会自动停止 9090指的是宿机端口,8080指的是容器地址
[aaa@qq.com ~]# docker run -itd -p 9090:8080 e1430271e2f9 /bin/bash
d20f302b7d7ac5fde97af031f09ff409d8124b167eb865448eddb73f5f73c869
#查看docker运行的容器
[aaa@qq.com ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
d20f302b7d7a        e1430271e2f9        "/bin/bash"         6 seconds ago       Up 6 seconds        0.0.0.0:9090->8080/tcp   stoic_napier

##进入容器
[aaa@qq.com ~]# docker exec -it d20f302b7d7a /bin/bash



在容器中安装jdk

  1. 首先去官网把jdk包放到宿机中

Docker安装及基本操作

  1. 通过命令把jdk从宿机拷贝到容器中

    #先通过命令查看容器id
    docker ps 
    #再把jdk拷贝到容器中  dokcer cp  宿机文件路径   容器id:宿机路径
    docker cp /usr/local/jdk-8u181-linux-x64.tar.gz 476766cdd64f:/usr/local
    #然后我们要进入容器中
    docker exec -it 476766cdd64f /bash/bin
    #在容器中找到我们拷贝的jdk文件
    cd /usr/local
    #再解压文件
    tar -zxvf jdk-8u181-linux-x64.tar.gz
    #编辑全局变量
    vi /etc/profile
    #在最后一行加上
    export JAVA_HOME=/usr/java/jdk1.8.0_181
    export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
    export PATH=$PATH:${JAVA_HOME}/bin
    #查看jdk是否配置成功
    java -version
    

在容器中安装tomcat

#通过wget命令下载jdk 
#我们的容器中centos没有wget命令所以我们要安装
yum -y install wget 
#然后通过wget命令下载tomcat   
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.56/bin/apache-tomcat-8.5.56.tar.gz
#然后解压这个文件
tar -zxvf apache-tomcat-8.5.56.tar.gz

安装完成后我们启动这个tomcat,然后就可以访问了


dokcer本地将容器打包成镜像

  • 登录dokcer hub仓库

    [aaa@qq.com /]# docker login
    Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
    Username: <账号>
    Password: <密码>
    
    
  • 从容器创建一个镜像

    #查看启动的容器
    docker ps 
    #-a :提交的镜像作者;
    #-c :使用Dockerfile指令来创建镜像;
    #-m :提交时的说明文字;
    #-p :在commit时,将容器暂停。
    [aaa@qq.com /]# docker commit -a "centos" -m "my centos" d20f302b7d7a  centos:v1 
    

    Docker安装及基本操作


将镜像上传到镜像库

// 这个命令的意思是 将镜像web01 设置上传的仓库名字 仓库名字是docker上注册的         用户名/仓库名  
docker tag centos:v1 ydb960113/my_centos

Docker安装及基本操作

#上传镜像 docker push 被tag的镜像名
docker push ydb960113/my_centos
#上传成功之后我们的镜像仓库就会有我们上传的镜像了

Docker安装及基本操作


拉取镜像

  • 登录docker仓库

    [aaa@qq.com /]# docker login
    Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
    Username: <账号>
    Password:	<密码>
    
  • 下载docker仓库镜像文件

    # docker search <用户/名称>
    
    # docker pull 用户名/仓库:版本号   版本号可以不加
    docker pull ydb960113/my_centos
    # 镜像下载完成之后,查看服务器上的镜像
    docker images
    #然后运行镜像
    docker run -itd -p 9090:8080 <镜像id> /bin/bash
    #现在的容器跟我们原来的哪个容器是一样的,所有的内容都行相同
    

Docker安装及基本操作

docker基本命令

# 查看已下载镜像
docker images
# 删除容器
docker rm <容器名 or ID>
# 查看容器日志
docker logs -f <容器名 or ID>
# 查看正在运行的容器
docker ps
# 查看所有的容器,包括已经停止的。
docker ps -a 
# 删除所有容器 
docker rm $(docker ps -a -q)
# 停止、启动、杀死指定容器
docker start <容器名 or ID> # 启动容器
docker stop <容器名 or ID> # 启动容器
docker kill <容器名 or ID> # 杀死容器
docker rm <容器名 or ID>  #移除容器

# 后台运行 docker run -itd <Other Parameters>
docker run -itd -p 33301:22 centos6-ssh
# 暴露端口: 一共有三种形式进行端口映射
docker -p ip:hostPort:containerPort # 映射指定地址的主机端口到容器端口
# 例如:docker -p 127.0.0.1:3306:3306 映射本机3306端口到容器的3306端口
docker -p ip::containerPort # 映射指定地址的任意可用端口到容器端口
# 例如:docker -p 127.0.0.1::3306 映射本机的随机可用端口到容器3306端口
docker -p hostPort:containerPort # 映射本机的指定端口到容器的指定端口
# 例如:docker -p 3306:3306 # 映射本机的3306端口到容器的3306端口
# 映射数据卷 
docker -v /home/data:/opt/data # 这里/home/data 指的是宿主机的目录地址,后者则是容器的目录地址
相关标签: dokcer docker