文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-07-05 08:49

关注

这篇文章主要介绍了Docker启动常用容器命令及配置方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker启动常用容器命令及配置方法是什么文章都会有所收获,下面我们一起来看看吧。

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 /]# lsbin  etc   lib  lost+found  mnt  proc  run   srv  tmp  vardev  home  lib64  media       opt  root  sbin  sys  usr

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

# docker exec 进入容器后开启一个新的终端,可以在里面操作docker exec -it 容器id /bin/bash
# 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 容器iddocker 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# 登录mysqlmysql -u root -p# 修改root 可以通过任何客户端连接ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

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

Docker 启动nginx

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

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

运行容器

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

在宿主机上创建挂载目录

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

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

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                   #从容器中复制日志文件

删除nginx容器

docker stop nginx                               docker rm nginx

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

chmod 777 /home/docker/volumes/nginx/conf/nginx.confdocker 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

配置说明:

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容器

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启动常用容器命令及配置方法是什么

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再运行镜像。

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

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

Dockerfile文件内容

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

docker build构建镜像

[root@localhost idea]# docker build -t springbootdemo:1.0 .[root@localhost idea]# docker imagesREPOSITORY       TAG                IMAGE ID       CREATED          SIZEspringbootdemo   1.0                d9648a49a226   50 seconds ago   661MB

运行、测试

[root@localhost idea]# docker run -d -p:8888:8080 --name mydemo springbootdemo:1.0[root@localhost idea]# curl localhost:8888/hellohello 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/configmkdir -p /home/volumes/elasticsearch/datamkdir -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启动elasticsearchdocker 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

参数说明:

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

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

关于“Docker启动常用容器命令及配置方法是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Docker启动常用容器命令及配置方法是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯