Docker启动常用容器命令及配置方法是什么(docker,开发技术)

时间:2024-04-29 17:54:22 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

Docker 容器相关命令

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

docker run [Options] image运行容器

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

运行并进入容器centos

[root@localhost~]#dockerrun-itcentos/bin/bash[root@ce2bbae9f151/]#lsbinetclib lost+foundmntprocrunsrvtmpvardevhomelib64mediaoptrootsbinsysusr

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

  • docker exec -it 容器id /bin/bash

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

#dockerattach进入容器正在执行的终端dockerattach容器id

退出容器

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

docker ps 查看运行的容器

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

docker start 容器id 启动容器

dockerstart容器id#启动容器dockerrestart容器id#重启容器dockerstop容器id#停止当前运行的容器dockerkill容器id#强制停止当前容器

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

dockerlogs-tf容器iddockerlogs--tailnum容器id#num为要显示的日志条数

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

dockertop容器id

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

dockerinspect容器id

Docker 启动mysql

#1.启动mysql设置密码、设置挂载数据卷dockerrun-d-p3306:3306--namemymysql-v/home/mysql/conf:/etc/mysql/conf.d-v/home/mysql/data:/var/lib/mysql-eMYSQL_ROOT_PASSWORD=123456mysql#2.远程连接mysql服务,若无权限,进入mysql容器中修改远程连接权限dockerexec-it36d4806c765a/bin/bash#登录mysqlmysql-uroot-p#修改root可以通过任何客户端连接ALTERUSER'root'@'%'IDENTIFIEDWITHmysql_native_passwordBY'123456';

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

Docker 启动nginx

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

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

1. 运行容器

dockerrun--namenginx-d-p7777:80nginx

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

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

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

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

4. 删除nginx容器

dockerstopnginxdockerrmnginx

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

chmod777/home/docker/volumes/nginx/conf/nginx.confdockerrun-d-p7777:80--namenginx\-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\-eLANG=C.UTF-8-eLC_ALL=C.UTF-8\--privileged=true--restart=alwaysnginx

配置说明:

  • -e LANG=C.UTF-8 -e LC_ALL=C.UTF-8是解决nginx中文乱码

  • --privileged=true 给容器内root权限

  • --restart=always 随docker自启动

Docker 启动redis

dockerrun-p6379:6379-d--namemyredis\ -v/home/docker_volume/redis/data:/data\-v/home/docker_volume/redis/conf/redis.conf:/etc/redis/redis.conf\ redisredis-server/etc/redis/redis.conf--appendonlyyes
  • redis-server /etc/redis/redis.conf 以配置文件启动redis

  • appendonly yes 开启redis 持久化

进入redis容器

dockerexec-itmyredisredis-cli

Docker 启动rabbitmq

dockerrun-it-d-p5672:5672-p15672:15672--hostnamemy-rabbit--namemy-rabbit\ -v/home/docker_volume/rabbit/:/var/lib/rabbitmq\ -eRABBITMQ_DEFAULT_USER=admin\ -eRABBITMQ_DEFAULT_PASS=adminrabbitmq:3-management

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

Docker 启动Kafka

Kafka需要依赖于Zookeeper

启动Zookeeper

dockerrun-it-d--restart=always--namezookeeper-p2181:2181wurstmeister/zookeeper

启动Kafka

dockerrun-d--restart=always--namekafka-p9092:9092\-eKAFKA_BROKER_ID=0\-eKAFKA_ZOOKEEPER_CONNECT=10.1.7.102:2181/kafka\-eKAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.1.7.102:9092\-eKAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092\-v/etc/localtime:/etc/localtimewurstmeister/kafka

使用Kafka Tool工具连接:

Docker启动常用容器命令及配置方法是什么

Docker 启动tomcat

dockerrun-it-d--namemytomcat-p8090:8080\ -v/home/docker_volume/tomcat/webapps/:/usr/local/tomcat/webappstomcat

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

#进入tomcat容器dockerexec-itmytomcat/bin/bash#复制项目到webapps下cp-rfwebapps.dist/*webapps

Docker 启动jar包

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

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

[root@localhostidea]#lsdemo-0.0.1-SNAPSHOT.jarDockerfile

2.Dockerfile文件内容

FROMjava:8#将demo-0.0.1-SNAPSHOT.jar复制到容器中并重命名为app.jarCOPYdemo-0.0.1-SNAPSHOT.jarapp.jarCMD["--server.port=8080"]EXPOSE8080ENTRYPOINT["java","-jar","app.jar"]

3.docker build构建镜像

[root@localhostidea]#dockerbuild-tspringbootdemo:1.0.[root@localhostidea]#dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZEspringbootdemo1.0d9648a49a22650secondsago661MB 

4.运行、测试

[root@localhostidea]#dockerrun-d-p:8888:8080--namemydemospringbootdemo:1.0[root@localhostidea]#curllocalhost:8888/hellohellobuckletime![root@localhostidea]#

Docker 启动PostgreSQL

#拉取镜像dockerpullkartoza/postgis:11.0-2.5#运行容器dockerrun-d-t--namepostgresql-p5432:5432\-ePOSTGRES_USER=postgres\-ePOSTGRES_PASS=postgres\-eALLOW_IP_RANGE=0.0.0.0/0\-v/home/volumes/postgres/data:/var/lib/postgresql\-v/home/volumes/postgres/temp:/tmp/tmp\--restartalwayskartoza/postgis:11.0-2.5#安装postgis扩展#注意,扩展要加在数据库上,而非模式上CREATEEXTENSIONpostgis;CREATEEXTENSIONpostgis_topology;CREATEEXTENSIONfuzzystrmatch;CREATEEXTENSIONpostgis_tiger_geocoder;#查看扩展是否安装成功SELECT*FROMpg_extension;

Docker 启动ElasticSearch

#拉取镜像文件dockerpullelasticsearch#创建挂载目录mkdir-p/home/volumes/elasticsearch/configmkdir-p/home/volumes/elasticsearch/datamkdir-p/home/volumes/elasticsearch/plugins#创建并写入elasticsearch.yml配置,注意:http.host:0.0.0.0echo"http.host:0.0.0.0">>/home/volumes/elasticsearch/config/elasticsearch.yml#文件夹赋权chmod-R777/home/volumes/elasticsearch/#docker启动elasticsearchdockerrun--nameelasticsearch-p9200:9200-p9300:9300\-e"discovery.type=single-node"\-eES_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\-delasticsearch

参数说明:

  • -e "discovery.type=single-node":单例模式

  • -e ES_JAVA_OPTS="-Xms64m -Xmx128m":配置内存大小

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

Docker启动常用容器命令及配置方法是什么

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Docker启动常用容器命令及配置方法是什么的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:怎么给C#变量取名字下一篇:

3 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18