Docker 入门(安装与启动)应用部署

Docker 安装与启动

(1)yum 包更新到最新

sudo yum update

(2)安装需要的软件包,yum-util 提供 yum-confifig-manager 功能,另外两个是 devicemapper
驱动依赖的

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

(3)设置 yum 源为阿里云

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(4)安装 docker

sudo yum install docker-ce

(5)安装后查看 docker 版本

docker -v

设置阿里的镜像

编辑该文件:

vi /etc/docker/daemon.json

在该文件中输入如下内容(二选一):

{
"registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"]
}

{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

Docker 启动与停止

systemctl 命令是系统服务管理器指令
启动 docker:

systemctl start docker

停止 docker:

systemctl stop docker

重启 docker:

systemctl restart docker

查看 docker 状态:

systemctl status docker

开机启动:

systemctl enable docker

查看 docker 概要信息

docker info

查看 docker 帮助文档

docker info

Docker 常用命令

镜像相关命令
查看镜像

docker images

搜素镜像
如果你需要从网络中查找需要的镜像,可以通过以下命令搜索

docker search 镜像名称

拉取镜像
拉取镜像就是从中央仓库中下载镜像到本地

docker pull 镜像名称

例如,我要下载 centos7 镜像

docker pull centos:7

删除镜像
按镜像 ID 删除镜像或者安装镜像名称删除镜像

docker rmi 镜像ID
docker rmi 镜像名称

容器相关命令

查看容器
查看正在运行的容器

docker ps

查看所有容器

docker ps -a

查看最后一次运行的容器

docker ps -l

创建与启动容器

(1)交互式方式创建容器
交互式容器创建好后会进入容器,

docker run -it --name=容器名称 镜像名称:标签 /bin/bash
docker run -it --name=mycentos01 centos:7 /bin/bash

这时我们通过 ps 命令查看,发现可以看到启动的容器,状态为启动状态退出当前容器

exit

(2)守护式方式创建容器:

docker run -id --name=容器名称 镜像名称:标签
docker run -id --name=mycentos02 centos:7

(3)登录守护式容器方式:

docker exec -it 容器名称 (或者容器 ID) /bin/bash
docker exec -it mycentos02 /bin/bash

停止与启动容器
停止容器:

docker stop 容器名称(或者容器 ID)
docker stop mycentos02

启动容器:

docker start 容器名称(或者容器 ID)
docker stop mycentos02

文件拷贝
如果我们需要将文件拷贝到容器内可以使用 cp 命令 docker cp需要拷贝的文件或目录 容器名称:容器目录

docker cp 需要拷贝的文件或目录 容器名称:容器目录
docker cp /root/docker.txt mycentos02:/root/docker.txt

也可以将文件从容器内拷贝出来

docker cp 容器名称:容器目录 需要拷贝的文件或目录
docker cp mycentos02:/root/docker.txt /root/test.txt

目录挂载

docker run -id -v 宿主机目录:容器目录 --name=容器名称 镜像名称:镜像标签名
docker run -id -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:7

删除容器
删除指定的容器:

docker rm 容器名称(容器 ID)


docker stop mycentos01
docker rm mycentos01

应用部署

MySQL 部署

(1)拉取 mysql 镜像

docker pull centos/mysql-57-centos7

(2)创建容器

docker run -id --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

#进入容器内部

docker exec -it XXX /bin/bash

#访问mysql,并输入密码

mysql -u root -p

#更换密码的验证方式,然后进行刷新

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;

#退出容器

先按,Ctrl+P;  再按,Ctrl+Q

Tomcat 部署

(1)拉取镜像

docker pull tomcat:7-jre7

(2)创建容器

docker run -id --name=mytomcat -p:8080:8080 tomcat:7-jre7

部署Tomcat(挂载webapps目录)
1.登录tomcat容器

docker exec -it mytomcat /bin/bash

2.停止mytomcat容器

docker stop mytomcat

3.删除mytomcat容器

docker rm mytomcat

4.创建mytomcat容器并且配置挂载目录

docker run -id --name=mytomcat -p 8080:8080 -v /root/tomcatDir:/usr/local/tomcat/webapps
tomcat:7-jre7

Nginx 部署

(1)拉取镜像

docker pull nginx

(2)创建 Nginx 容器

docker run -id --name=mynginx -p 80:80 nginx

Nginx目录挂载
停止nginx容器

docker stop mynginx

删除mynginx容器

docker rm mynginx

创建Nginx容器并且实现目录挂载
将KTC静态资源考入到宿主机中

docker run -id --name=mynginx -p 90:80 -v /root/page:/usr/share/nginx/html nginx:latest

Redis 部署

(1)拉取镜像

docker pull redis

(2)创建容器

docker run -id --name=myredis -p 6379:6379 redis

迁移与备份
容器提交为镜像
我们可以通过以下命令将容器提交为镜像

docker commit 容器名称 镜像名称
docker commit mysql mysql_i

镜像备份
我们可以通过以下命令将镜像保存为 tar 文件(保存为压缩包时间会有点长)
默认打包地址就在当前目录

docker save -o 要打包成压缩包的名称 要打包的镜像名称
docker save -o mysql.tar mysql_i

镜像恢复与迁移
首先我们先删除掉 mysql_i 镜像 然后执行此命令进行恢复

docker load -i mysql.tar

-i 输入的文件
执行后再次查看镜像,可以看到镜像已经恢复

Dockerfifile

常用命令

命令                             作用
from image_name:tag     定义了使用哪个基础镜像启动构建流程
maintainer user_name    声明镜像的创建者
env key value           设置环境变量 (可以写多条)
run command             是Dockerfifile 的核心部分(可以写多条)
add source_dir/fifile   将宿主机的文件复制到容器内,如果是一个
dest_dir/fifile         压缩文件,将会在复制后自动解压
copy                    和 ADD 相似,但是如果有压缩文件并不能解压
source_dir/fifiledest_dir/fifile
workdir path_dir        设置工作目录

使用脚本创建镜像
步骤:
(1)下载 jdk-8u171-linux-x64.tar.gz 并上传到服务器(虚拟机)
(2)创建文件 vi Dockerfifile

#依赖镜像名称和 ID
FROM centos:7
#指定镜像创建者信息
MAINTAINER dfbz
RUN mkdir /usr/local/jdk
#ADD 是相对路径 jar,把 java 添加到容器中
ADD jdk-8u171-linux-x64.tar.gz /usr/local/jdk/
#配置 java 环境变量
ENV JAVA_HOME /usr/local/jdk/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV PATH $JAVA_HOME/bin:$PATH
#切换工作目录
WORKDIR /usr

(4)执行命令构建镜像

docker build -t='jdk1.8' .

(5)查看镜像是否建立完成

docker images

Docker 私有仓库

私有仓库搭建与配置
(1)拉取私有仓库镜像

docker pull registry

(2)启动私有仓库容器

docker run -id --name=registry -p 5000:5000 registry

(3)打 开 浏 览 器 输 入 地 址 http://192.168.222.128:5000/v2/_catalog 看到 {“repositories”:[]} 表示私有仓库搭建成功并且内容为空
(4)修改 daemon.json (/etc/docker/daemon.json)
添加以下内容,保存退出。

{"insecure-registries":["192.168.222.128:5000"]}

此步用于让 docker 信任私有仓库地址
(5)重启 docker 服务

systemctl restart docker

镜像上传至私有仓库
(1)标记此镜像为私有仓库的镜像

docker tag 镜像名称 私服地址:端口/要打包的标签名(随意)
docker tag jdk1.8 192.168.222.128:5000/myjdk1.8

(2)上传标记的镜像

docker push 私服地址:端口/打包的标签名
docker push 192.168.222.128:5000/myjdk1.8

(3)删除myjdk1.8镜像

docker rmi 192.168.222.128:5000/myjdk1.8

(4)从私服上拉取myjdk1.8镜像

docker pull 192.168.222.128:5000/myjdk1.8
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值