返回顶部
首页 > 资讯 > 服务器 >Docker启动常用容器命令及配置详解
  • 502
分享到

Docker启动常用容器命令及配置详解

Docker启动容器命令Docker启动nginxDocker启动mysql 2023-03-02 20:03:13 502人浏览 八月长安
摘要

目录Docker 容器相关命令Docker 启动MysqlDocker 启动NginxDocker 启动RedisDocker 启动RabbitMQDocker 启动kafkaDoc

Docker 容器相关命令

容器是基于Docker镜像被创建的。

docker run [Options] image运行容器

docker run [Options] image

#参数说明
--name="名字"           指定容器名字
-d                     后台方式运行
-it                    使用交互方式运行,进入容器查看内容
-p                     指定容器的端口
	-p ip:主机端口:容器端口  配置主机端口映射到容器端口
	-p 主机端口:容器端口(常用)
	-p 容器端口
-P                     随机指定端口
-e					   环境设置
-v					   容器数据卷挂载

运行并进入容器centos

[root@localhost ~]# docker run -it Centos /bin/bash
[root@ce2bbae9f151 /]# ls
bin  etc   lib	  lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr

进入容器,因为通常我们的容器都是使用后台方式来运行的,有时需要进入容器修改配置

  • docker exec -it 容器id /bin/bash
# docker exec 进入容器后开启一个新的终端,可以在里面操作
docker exec -it 容器id /bin/bash
  • docker attach 容器id
# docker attach 进入容器正在执行的终端
docker attach 容器id

退出容器

exit 	# 停止容器并退出(后台方式运行则仅退出)
Ctrl+P+Q  # 不停止容器退出

docker ps 查看运行的容器

# 查看当前正在运行的容器
docker ps 
     
-a   # 查看所有容器的运行记录
-n=? # 显示最近创建的n个容器
-q   # 只显示容器的id

docker start 容器id 启动容器

docker start 容器id          # 启动容器
docker restart 容器id        # 重启容器
docker stop 容器id           # 停止当前运行的容器
docker kill 容器id           # 强制停止当前容器

docker logs 容器id查看容器运行日志

docker logs -tf 容器id
docker logs --tail num 容器id  # num为要显示的日志条数

docker top 容器id查看容器中进程信息

docker top 容器id

docker inspect 容器id查看容器的元数据

docker inspect 容器id

Docker 启动mysql

# 1.启动mysql  设置密码、设置挂载数据卷
docker run -d -p 3306:3306 --name mymysql -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWord=123456 mysql 
# 2.远程连接mysql服务,若无权限,进入mysql容器中修改远程连接权限
docker exec -it 36d4806c765a /bin/bash
# 登录mysql
mysql -u root -p
# 修改root 可以通过任何客户端连接
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

修改远程连接权限成功后,可以通过Navicat等mysql客户端连接数据库

Docker 启动nginx

启动nginx挂载和其他容器挂载有所区别,需要进行额外操作。

docker挂载是run时挂载,所以要先copy配置文件,如果不copy直接挂载启动容器时会从挂载的目录找配置文件,找不到会启动失败。

1. 运行容器

docker run --name nginx -d -p 7777:80 nginx

2. 在宿主机上创建挂载目录

mkdir -p /home/docker/volumes/nginx/conf
mkdir -p /home/docker/volumes/nginx/log

3. 从容器中复制配置文件到挂载目录

docker cp nginx:/etc/nginx/nginx.conf /home/docker/volumes/nginx/conf/nginx.conf     #从容器中复制配置文件
docker cp nginx:/etc/nginx/conf.d /home/docker/volumes/nginx/conf/                   #从容器中复制配置文件夹
docker cp nginx:/usr/share/nginx/html /home/docker/volumes/nginx/               #从容器中复制html文件
docker cp nginx:/var/log/nginx /home/docker/volumes/nginx/log                   #从容器中复制日志文件

4. 删除nginx容器

docker stop nginx                               
docker rm nginx

5. 使用挂载的方式重新启动nginx

chmod 777 /home/docker/volumes/nginx/conf/nginx.conf
docker run -d -p 7777:80 --name nginx \
 -v /home/docker/volumes/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
 -v /home/docker/volumes/nginx/conf/conf.d:/etc/nginx/conf.d \
 -v /home/docker/volumes/nginx/html:/usr/share/nginx/html \
 -v /home/docker/volumes/nginx/log:/var/log/nginx \
 -e LANG=C.UTF-8 -e LC_ALL=C.UTF-8 \
 --privileged=true --restart=always nginx

配置说明:

  • -e LANG=C.UTF-8 -e LC_ALL=C.UTF-8是解决nginx中文乱码
  • --privileged=true 给容器内root权限
  • --restart=always 随docker自启动

Docker 启动redis

docker run -p 6379:6379 -d --name myredis \
		   -v /home/docker_volume/redis/data:/data \
           -v /home/docker_volume/redis/conf/redis.conf:/etc/redis/redis.conf \
		   redis redis-server /etc/redis/redis.conf --appendonly yes
  • redis-server /etc/redis/redis.conf 以配置文件启动redis
  • appendonly yes 开启redis 持久化

进入redis容器

docker exec -it myredis redis-cli

Docker 启动rabbitMQ

docker run -it -d -p 5672:5672 -p15672:15672 --hostname my-rabbit --name my-rabbit \
		   -v /home/docker_volume/rabbit/:/var/lib/rabbitmq \
		   -e RABBITMQ_DEFAULT_USER=admin \
		   -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:3-management

启动成功后,浏览器访问 Http://ip:15672/,进入rabbitmq管理界面。

Docker 启动Kafka

Kafka需要依赖于ZooKeeper

启动Zookeeper

docker run -it -d --restart=always --name zookeeper -p 2181:2181 wurstmeister/zookeeper

启动Kafka

docker run -d --restart=always --name kafka -p 9092:9092 \
 -e KAFKA_BROKER_ID=0 \
 -e KAFKA_ZOOKEEPER_CONNECT=10.1.7.102:2181/kafka \
 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.1.7.102:9092 \
 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
 -v /etc/localtime:/etc/localtime wurstmeister/kafka

使用Kafka Tool工具连接:

在这里插入图片描述

Docker 启动tomcat

docker run -it -d --name mytomcat -p 8090:8080 \
		   -v /home/docker_volume/tomcat/WEBapps/:/usr/local/tomcat/webapps tomcat

默认镜像中webapps目录为空,先将项目放入webapps目录下,再访问http://ip:8090/

# 进入tomcat容器
docker exec -it mytomcat /bin/bash
# 复制项目到webapps下
cp -rf webapps.dist/* webapps

Docker 启动jar包

jar包想要在docker中运行,需要把jar包制作成镜像文件,docker再运行镜像。

1.将jar包上传到linux中,并编写Dockerfile文件

[root@localhost idea]# ls
demo-0.0.1-SNAPSHOT.jar  Dockerfile

2.Dockerfile文件内容

FROM java:8

# 将demo-0.0.1-SNAPSHOT.jar 复制 到容器中并重命名为 app.jar
COPY demo-0.0.1-SNAPSHOT.jar app.jar

CMD ["--server.port=8080"]

EXPOSE 8080

ENTRYPOINT ["java","-jar","app.jar"]

3.docker build构建镜像

[root@localhost idea]# docker build -t SpringBootdemo:1.0 .
[root@localhost idea]# docker images
REPOSITORY       TAG                IMAGE ID       CREATED          SIZE
springbootdemo   1.0                d9648a49a226   50 seconds aGo   661MB	

4.运行、测试

[root@localhost idea]# docker run -d -p:8888:8080 --name mydemo springbootdemo:1.0
[root@localhost idea]# curl localhost:8888/hello
hello buckletime![root@localhost idea]# 

Docker 启动PostgreSQL

# 拉取镜像
docker pull kartoza/postGIS:11.0-2.5
# 运行容器
docker run -d -t --name postgresql -p 5432:5432 \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASS=postgres \
-e ALLOW_IP_RANGE=0.0.0.0/0 \
-v /home/volumes/postgres/data:/var/lib/postgresql \
-v /home/volumes/postgres/temp:/tmp/tmp \
--restart always kartoza/postgis:11.0-2.5
# 安装postgis扩展
# 注意,扩展要加在数据库上,而非模式上
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder;
# 查看扩展是否安装成功
SELECT * FROM pg_extension;

Docker 启动ElasticSearch

# 拉取镜像文件  
docker pull elasticsearch

# 创建挂载目录
mkdir -p /home/volumes/elasticsearch/config
mkdir -p /home/volumes/elasticsearch/data
mkdir -p /home/volumes/elasticsearch/plugins

# 创建并写入elasticsearch.yml配置,注意:http.host: 0.0.0.0 
echo "http.host: 0.0.0.0">>/home/volumes/elasticsearch/config/elasticsearch.yml

# 文件夹赋权
chmod -R 777 /home/volumes/elasticsearch/

# docker启动elasticsearch
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
 -e "discovery.type=single-node" \
 -e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
 -v /home/volumes/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
 -v /home/volumes/elasticsearch/data:/usr/share/elasticsearch/data \
 -v /home/volumes/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
 -d elasticsearch

参数说明:

  • -e "discovery.type=single-node":单例模式
  • -e ES_JAVA_OPTS="-Xms64m -Xmx128m":配置内存大小

查看elasticsearch是否安装成功,浏览器访问:http://localhost:9200

在这里插入图片描述

 到此这篇关于Docker启动常用容器命令及配置详解的文章就介绍到这了,更多相关Docker启动容器命令内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Docker启动常用容器命令及配置详解

本文链接: https://lsjlt.com/news/198297.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Docker启动常用容器命令及配置详解
    目录Docker 容器相关命令Docker 启动mysqlDocker 启动nginxDocker 启动redisDocker 启动rabbitmqDocker 启动KafkaDoc...
    99+
    2023-03-02
    Docker启动容器命令 Docker 启动nginx Docker 启动mysql
  • Docker启动常用容器命令及配置方法是什么
    这篇文章主要介绍了Docker启动常用容器命令及配置方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker启动常用容器命令及配置方法是什么文章都会有所收获,下面我们一起来看看吧。Docker 容器...
    99+
    2023-07-05
  • docker容器的创建及常用操作命令详解
    目录docker容器简介1、创建容器2、查看本机的容器列表3、停止和启动一个容器4、删除容器5、查看容器内容6、复制命令7、进入容器docker容器简介 容器就是对外提供服务的一个实...
    99+
    2024-04-02
  • Docker如何使用start命令启动容器
    小编给大家分享一下Docker如何使用start命令启动容器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用start命令启动...
    99+
    2024-04-02
  • docker怎么查看容器启动命令
    本篇内容介绍了“docker怎么查看容器启动命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!eg:docker ps 查看正在运行的容器:...
    99+
    2023-07-05
  • docker容器自启动命令是什么
    本篇内容主要讲解“docker容器自启动命令是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker容器自启动命令是什么”吧!docker容器自启动命令可以通过增加参数来达到,服务重启后...
    99+
    2023-07-04
  • docker的常用命令详解
    目录前言docker常用命令1 启停类/帮助 命令2镜像命令3 容器命令结语前言 本篇文章不仅仅是生硬的命令大全,也是我个人对docker学习使用的一步步总结,通过一个个示例来加深各...
    99+
    2023-05-15
    Docker的常用命令 docker常用命令
  • docker如何获取容器的启动命令
    这篇文章主要介绍docker如何获取容器的启动命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如何获取容器的启动命令容器早已创建好,如何得知它的启动参数(数据挂载到哪)#假设通过如下命令启动了一个容器docker&...
    99+
    2023-06-14
  • lspci 命令详解及常用命令
    lspci命令用于显示计算机的PCI总线信息,包括PCI设备的厂商、设备ID等。常用的lspci命令参数如下:- -v:显示详细的信...
    99+
    2023-09-09
    lspci
  • redis配置文件全解及常用命令
    redis配置文件全解及常用命令1.基本配置daemonize no 是否以后台进程启动databases 16 创建database的数量(默认选中的是database 0)save 900 1 &nbs...
    99+
    2024-04-02
  • Docker基础和常用命令详解
    目录一,Docker 简介1.1,什么是 Docker1.2,Docker 与虚拟机的区别1.3,Docker 架构1.4,为什么用 Docker二,Docker 基本概念2.1,镜...
    99+
    2022-11-13
    docker基础 docker常用命令 docker使用教程
  • docker如何查看容器启动命令(已运行的容器)
    目录通过docker ps命令通过docker inspect命令总结eg: docker ps 查看正在运行的容器: 通过docker ps命令 该命令主要是为了详细展示查看运行...
    99+
    2023-02-22
    查看docker容器的启动命令 docker容器启动 docker启动容器命令
  • docker容器的创建及常用操作命令是什么
    这篇文章主要介绍了docker容器的创建及常用操作命令是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇docker容器的创建及常用操作命令是什么文章都会有所收获,下面我们一起来看看吧。docker容器简介容...
    99+
    2023-06-30
  • 详解idea maven nexus 常见命令配置
    maven 常见命令配置 maven常用命令 #创建项目 -D设置参数 mvn archetype:generate -DgroupId=cn.dwcode -Dartifact...
    99+
    2024-04-02
  • 详解docker-compose.yml文件常用模版命令
    注:在编写docker-compose.yml文件时,所有的冒号(:)、短横线(-)后面都需要加一个空格。 1、command 覆盖容器启动后默认执行的命令 command: ec...
    99+
    2024-04-02
  • docker基本命令及使用实例详解
    目录docker基本命令docker文件系统commit镜像容器数据卷具名和匿名挂载初识Dockerfile commitDockerfile 构建过程发布自己的镜像docker网络...
    99+
    2024-04-02
  • NoSQL -- redis 安装 主从 配置详解 常用命令
    Redis 也是key-value存储系统,官方站点 http://redis.io,但相对于memcache,有如下优势:1、支持更多地value类型(string、hash、lists、set...
    99+
    2024-04-02
  • 阿里云服务器启用Web服务器配置命令详解
    阿里云服务器是一种高性能、高可用、可扩展的云计算服务,它可以帮助您轻松搭建Web服务器并进行配置。在本文中,我们将详细介绍如何在阿里云服务器上启用Web服务器,并使用相应的配置命令。 一、准备工作在开始之前,我们需要确保已经创建了一个阿里云...
    99+
    2023-11-04
    阿里 详解 服务器配置
  • docker启动rabbitmq以及使用方式详解
    目录搜索rabbitmq镜像下载镜像启动容器打印容器访问RabbitMQ Management编写生产者类消费者工作队列RabbitMqUtils工具类启动2个工作线程启动发送线程消...
    99+
    2022-11-13
    docker运行rabbitmq rabbitmq docker 启动rabbitmq命令
  • Docker镜像与容器的导入导出以及常用命令总结
    目录前言一、Docker 镜像和容器的导入导出1.1、镜像的导入导出1.1.1、镜像的保存1.1.2、镜像的导入1.2、容器的导入和导出1.2.1、容器的导出1.2.2、容器包的导入...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作