【Docker】基本使用
服务
- 启动docker
systemctl start docker
- 重启docker
systemctl restart docker
- 停止docker
systemctl stop docker.socke
systemctl stop docker
- 如果linux重启需要重启docker服务
systemctl daemon-reload
systemctl restart docker.service
- 设置中国镜像
# vi /etc/docker/daemon.json
{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com",
"http://520emlt4.mirror.aliyuncs.com"
]
}
# systemctl daemon-reload
# systemctl restart docker
镜像
- 查看镜像
docker images
- 删除镜像
docker rmi IMAGE ID
*ps: 删除镜像(需要先删除容器)
docker ps -a # 查看容器
docker stop <#id> # 停止一个或多个容器
docker rm <#id> # 删除一个或多个容器
docker image ls -a # 查看镜像
docker rmi <#id> # 删除一个或多个镜像
- 拉取镜像
docker pull jenkins/jenkins
- 运行镜像
docker run -d -uroot -p 8888:8080 -p 50000:50000 --name jenkins -v /home/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime jenkins/jenkins
| 命令 | 描述 |
|---|---|
| -d | 后台运行容器,并返回容器ID |
| -uroot | 使用 root 身份进入容器,推荐加上,避免容器内执行某些命令时报权限错误 |
| -p 9095:8080 | 将容器内8080端口映射至宿主机9095端口,这个是访问jenkins的端口 |
| -p 50000:50000 | 将容器内50000端口映射至宿主机50000端口 |
| --name jenkins | 设置容器名称为jenkins |
| -v /home/jenkins_home:/var/jenkins_home | :/var/jenkins_home目录为容器jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录 |
| -v /etc/localtime:/etc/localtime | 让容器使用和服务器同样的时间设置 |
| jenkins/jenkins | 镜像的名称,这里也可以写镜像ID |
- 查看日志
docker logs jenkins
容器
- 查看容器
- 此时的状态有 Up About / Exited
docker ps -a
- 删除容器
- 将 Exited 状态的容器删除
docker rm 容器ID
- 启动/重启/停止容器
docker start 容器ID
docker restart 容器ID
docker stop 容器ID
- 进入/退出容器
docker exec -it 容器ID bash
exit
docker restart 容器ID
查看docker中的xxx容器版本
- 拉取镜像
docker pull redis

- 运行镜像
docker run -p 6379:6379 -v $PWD/data:/data -d redis:latest redis-server --appendonly yes --requirepass 123456
-p 6379:6379 : 将容器的6379端口映射到主机的6379端口
-v $PWD/data:/data : 将主机中当前目录下的data挂载到容器的/data
redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置
- 以查看redis版本为例
docker exec -it edfb37d82fde redis-server -v


docker-compose
这里以启动一个jenkins为例
- 配置
mkdir -p /usr/local/jenkins
cd /usr/local/jenkins
vim docker-compose.yml
# docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11
jenkins
restart: always
image: jenkins/jenkins:2.204.5
ports:
- "8080:8080"
- "50000:50000"
volumes:
- ./data:/var/jenkins_hom
- 启动
cd /usr/local/jenkin
mkdir -p data # 注意如果重装jenkins,先删除这个文件夹并重新生成
chmod -R 777 data # yml中的 volumes对应的映射目录 ./dat
systemctl restart docker # 如果报错每次修改请重启docker
docker-compose up -d # 启动jenkins
docker-compose ps # state的状态为up即启动成功
docker-compose logs -f # 实时查看启动情况,注意记录初始密码
常用程序看装
mysql
官网
安装
- 安装钱查看系统是否安装lnmp,停止其中的mysql
lnmp status
lnmp mysql stop

- 拉取mysqlDdocker镜像

- 运行容器
docker run -itd --name mysql5739 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql daff57b7d2d1/daff57b7d2d1
【Docker】基本使用的更多相关文章
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境
首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...
- Docker 第一篇--初识docker
已经多年不写博客, 看完<晓松奇谈>最后一期猛然觉醒, 决定仔细梳理下自己这几年的知识脉络. 既然决定写, 那么首先就从最近2年热门的开源项目Docker开始.Docker 这两年在国内很 ...
- 在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)
环境准备 1.亚马逊EC2 Windows Server 2016 with Container 2.Visual Studio 2015 Enterprise(Profresianal要装Updat ...
- docker for mac 学习记录
docker基本命令 docker run -d -p 80:80 --name webserver nginx 运行容器并起别名 docker ps 展示目前启动的容器 docker ps -a 展 ...
- scrapy爬虫docker部署
spider_docker 接我上篇博客,为爬虫引用创建container,包括的模块:scrapy, mongo, celery, rabbitmq,连接https://github.com/Liu ...
- [原][Docker]特性与原理解析
Docker特性与原理解析 文章假设你已经熟悉了Docker的基本命令和基本知识 首先看看Docker提供了哪些特性: 交互式Shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上, ...
- 开发者的利器:Docker 理解与使用
困扰写代码的机器难免会被我们安装上各种各样的开发工具.语言运行环境和引用库等一大堆的东西,长久以来不仅机器乱七八糟,而且有些相同的软件还有可能会安装不同的版本,这样又会导致一个项目正常运行了,却不小心 ...
- 使用python自动生成docker nginx反向代理配置
由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...
- 微服务与Docker介绍
什么是微服务 微服务应用的一个最大的优点是,它们往往比传统的应用程序更有效地利用计算资源.这是因为它们通过扩展组件来处理功能瓶颈问题.这样一来,开发人员只需要为额外的组件部署计算资源,而不需要部署一个 ...
随机推荐
- win系统airtest+pytest-xdist服务器分布式运行。
1.准备至少两台服务器,集群全部是局域网,(启动脚本的时候可以使用外网ip). 2.输出的报告地址,需要把文件夹设置成共享文件夹,(连接的时候使用内外ip). 启动脚本文件 import os, da ...
- 关于Java中数组的简单使用
关于java中数组的简单使用--继java环境配置后的第二篇学习笔记 近期在学习Java的过程中学到了数组的部分,至于为什么我会到数组才来写这个,主要是数组这一章节的内容感觉还是与之前学的C里面的数组 ...
- 关于.NET CORE 的 swagger 分组简单使用
在避免swagger接口过多时,可以使用分组进行功能区分 简单三部曲 1.添加分组和级别名称 services.AddSwaggerGen(c => { #region swagger分组 c. ...
- Spring @aspect
在 开发过程中,需要对每个 方法 执行时 进行日志 记录, 故而 整理一下, 有关 AOP 的 相关 知识点. 1. 切面类: @Aspect : 定义切面类, 加上 @Aspect,@Compo ...
- Spring 自定义注解 操作日志
1.自定义注解 package com.jay.demo3.aop1.myannotation; import java.lang.annotation.Documented; imp ...
- CSDN上书签迁移
title: CSDN上书签迁移 date: 2020-11-01 16:34:30 img: /photos/2020.6.03_15/2020_06_11_cover.jpg summary: C ...
- 26_自定义Loader
自定义Loader loader就是对模块的源代码进行处理(转换),如css-loader.style-loader等 在上一篇的源代码中我们已经知道了loader是在runLoaders才会去使用l ...
- oracle 索引操作
1 查询表中所有的索引 -- 固定写法"tb_user"(注意大小写)为表名 select * from user_indexes where table_name='tb_use ...
- 成品直播源码推荐,java 实现邮件服务
成品直播源码推荐,java 实现邮件服务 1. 引入maven 依赖 <!--邮件服务--><dependency> <groupId>org.springf ...
- Node.js 源码解读 EventLoop
之前断断续续开发过一些 Node.js 的项目,但只仅限于使用它实现一些功能,没有过多对底层深入的研究.现在因为公司大前端组内的服务端渲染直出.BFF(Backend For Frontend) 等需 ...

