Docker配置与常用命令

1 篇文章 0 订阅

Docker

一、Docker工作原理

目前开发遇到的问题:由于环境不统一,造成程序不能正常运行、使用。

三种环境:生产环境、测试环境、运行环境

解决方式:提交程序的同时把环境一起提交。

什么是Docker?是一个提供环境的一个平台。

二、安装环境

1、安装依赖

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

2、为了加快拉取镜像的速度,指定镜像的下载源

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

3、为了增加安装速度,制作缓存

yum makecache fast

4、进行安装

yum -y install docker-ce

【说明】此时Linux系统下Docker已经安装完毕。

三、Docker服务的使用

3.1 启动Docker

1、启动Docker

systemctl start docker

2、测试是否成功

docker run hello-world

【说明】当在docker中运行某个不存在的镜像时,docker会到“码头”去拉取镜像,拉取后,再运行镜像。

3、可以设置开机后自动启动Docker服务

systemctl enable docker

3.2 镜像的使用

镜像: 软件经过docker处理后的称呼

1、到仓库拉取镜像到本地

命令: docker pull 镜像名称:[tab]

例: docker pull daocloud.io/library/tomcat:8.5.15-jre8

2、查看本地镜像

命令:docker images

在这里插入图片描述
3、删除本地镜像

docker rmi 镜像名/ID (ID名写开头即可)

四、容器的使用

宿主机: docker运行的机器称为宿主机,也就是我们的Linux虚拟机。

docker运行的容器时独立的,容器的端口号可以和宿主机的端口号相同的,不会冲突,为了外部访问,在运行容器的时候,通过命令将宿主机的端口号和docker容器的端口号进行映射

1、运行docker并与宿主机端口号映射

docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像的标识|镜像名称[:tag]

-d:代表后台运行容器

-p 宿主机端口:容器端口:为了映射当前Linux的端口和容器的端口

–name 容器名称:指定容器的名称

例:docker run -d -p 8081:8080 --name mytomcat7 daocloud.io/library/tomcatL7

【说明】并不能直接通过IP、port访问docker中的容器,必须将docker容器与linux系统的的端口号关联。通过 linux系统的IP、port访问该容器。

2、查看正在运行的容器命令

docker ps [-aq]

a:所有容器,包括没有运行的

q:只查看容器的标识

什么是容器? 运行过的镜像就称为容器,运行后自动启动容器

​ 可以通过 start stop restart 操作容器

3、查看容器日志

docker logs [-f] 容器的id [只查看日志的最后几行]

例:docker logs -f e0

4、关闭容器

docker stop 容器id

5、启动容器

docker start 容器id

6、重启容器

docker restart 容器id

7、删除容器

docker rm 容器id

8、进入到容器中

docker exec -it 容器名 bash

9、复制,一个文件夹内容复制到另一个文件夹

cp -r[递归复制] webapps.dist/*[来源下的所有] webapps[复制位置]

10、退出当前容器

exit

五、Docker-Compose

【作用】方便统一拉取并运行容器的操作,使用命令一次可以管理多个容器。

1、安装Docker-Compose

到官网下载docker-compose

https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64

2、复制到usr/local/bin 目录下

改名: mv docker-compose-Linux-x86_64 docker-compose

3、分配权限

chmod 777 docker-compose 最高权限

4、测试是否成功

docker-compose 或 docker-compose version

5、编写docker-compose模板

【注意】模板固定为docker-compose.yml 与 docker-compose同目录,也在usr/local/bin目录下

命令:vi docker-compose.yml

version: "3.1"
services:
  elasticsearch:
    image: daocloud.io/library/elasticsearch:6.5.4
    restart: always
    container_name: elasticsearch
    ports:
      - 9200:9200
  kibana:
    image: daocloud.io/library/kibana:6.5.4
    restart: always
    container_name: kibana
    ports:
      - 5601:5601
    environment:
      - elasticsearch_url=http://192.168.40.151:9200
    depends_on:
      - elasticsearch
  mysql:
    restart: always
    image: daocloud.io/library/mysql:5.7.4
    container_name: mysql5.7.4
    ports:
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    volumes:
      - /home/java2001/temp/mysql_volumes:/var/lib/mysql
  tomcat:
    restart: always
    image: daocloud.io/library/tomcat:7
    container_name: tomcat7
    ports:
      - 8080:8080
    volumes:
      - /home/java2001/temp/tomcat_volumes:/usr/local/tomcat/webapps

6、执行 docker-compose up -d

【说明】执行以上命令后,docker-compose 先 拉取文件中的镜像 然后 运行镜像

7、启动所有容器

docker-compose start

8、重启所有容器

docker-compose restart

9、关闭所有容器

docker-compose stop

六、Dockerfile自定义镜像

1、新建文件夹

2、question_library.war拷贝到创建的文件夹中

3、进入到文件夹 使用vi 新建 Dockerfile的文件

​ from daocloud.io/library/tomcat:7

​ copy question_library.war /usr/local/tomcat/webapps

4、构建镜像

docker build -f ./Dockerfile -t myquestion:v1

文件夹

2、question_library.war拷贝到创建的文件夹中

3、进入到文件夹 使用vi 新建 Dockerfile的文件

​ from daocloud.io/library/tomcat:7

​ copy question_library.war /usr/local/tomcat/webapps

4、构建镜像

docker build -f ./Dockerfile -t myquestion:v1

上传省略

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值