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

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/
目录Docker 容器相关命令Docker 启动mysqlDocker 启动nginxDocker 启动redisDocker 启动rabbitmqDocker 启动KafkaDocker 启动tomcatDocker 启动jar包Docker 启动PostgreSQLDocker 启动ElasticSearch

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 以配置文件启动redisappendonly 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启动常用容器命令及配置详解插图

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启动常用容器命令及配置详解插图1

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

免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容