Docker 2.常用容器
温馨提示:
本文最后更新于 2023年07月17日
,已超过 642 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
Docker 工作中常用容器
docker开发常用的容器
docker redmine 项目管理工具
# Redmine服务创建和使用
docker run -d --name redmine --restart=always \
-e REDMINE_DB_MYSQL=127.0.0.1 \
-e REDMINE_DB_PORT=3306 \
-e REDMINE_DB_DATABASE=cloud_redmine \
-e REDMINE_DB_USERNAME=cloud_redmine \
-e REDMINE_DB_PASSWORD=cloud_redmine123 \
-p 3000:3000 \
-v /data/docker/redmine/datadir:/usr/src/redmine/files \
redmine
# 设置容器的自动启动
docker container update --restart=always 容器名字
如果需要修改redmine 的配置,可以使用docker cp 命令 复制文件出来,修改成功之后,再进行复制进去。
docker启动mysql容器
命令说明:
- -p
3306:3306
:将容器的3306端口映射到主机的3306端口 - -v
$PWD/conf/my.cnf:/etc/mysql/my.cnf
:将主机当前目录下的conf/my.cnf
挂载到容器的/etc/mysql/my.cnf
- -v
$PWD/logs:/logs
:将主机当前目录下的logs
目录挂载到容器的/logs
- -v
$PWD/data:/mysql_data
:将主机当前目录下的data目录挂载到容器的/mysql_data
- -e
MYSQL_ROOT_PASSWORD=123456
:初始化root用户的密码
#启动命令
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql --restart=always
docker run -itd --name mysql -v /data/docker/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
docker启动redis容器
docker run -p 6379:6379 -v /data/docker/redis:/data -d redis redis-server
docker run -p 6379:6379 -v /data/docker/redis:/data -d redis redis-server --appendonly yes
docker run -p 6379:6379 -d redis:latest redis-server
docker run -itd —name redis -p 6379:6379 redis
docker run -p 6379:6379 --name redis -v /data/docker/redis/redis.conf:/etc/redis/redis.conf -v /data/docker/redis/data:/data -d --restart=always redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass Sgdse241#
docker启动mongodb容器
docker run -itd --name mongo -p 27017:27017 -v /data/docker/mongodb:/data/db mongo --restart=always --auth
参数说明
-p 27017:27017
:映射容器服务的 27017 端口到宿主机的 27017 端口--auth
:需要密码才能访问容器服务。
docker exec -it mongo mongo admin
# 创建一个名为 admin,密码为 123456 的用户
>db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')
# 修改密码
>db.changeUserPassword('graylog','graylog')
# 使用账户密码访问数据
mongo mongodb://admin:123456@127.0.0.1:27017/dbname
docker启动 jenkins 容器
# 启动容器命令
docker run -d -p 80:8080 -p 50000:50000 -v /data/docker/jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins docker.io/jenkins/jenkins
docker run -p 8080:8080 -p 50000:50000 -v /data/docker/jenkins:/var/jenkins_home --name jenkins jenkins/jenkins:lts
# 第一次启动查看
docker exec jenkins tail /var/jenkins_home/secrets/initialAdminPassword
7348166a073a44ebb526315c6af18a56
这里逐条解释下各参数的意义。
-d
后台运行镜像-p 80:8080
将镜像的8080端口映射到服务器的80端口-p 50000:50000
将镜像的50000端口映射到服务器的50000端口-v jenkins:/var/jenkins_home /var/jenkins_home
目录为jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。-v /etc/localtime:/etc/localtime
让容器使用和服务器同样的时间设置。--name jenkins
给容器起一个别名
docker 启动 nextcloud
docker run -d \
-p 8081:80 \
-v nextcloud:/var/www/html \
-v apps:/var/www/html/custom_apps \
-v config:/var/www/html/config \
-v data:/var/www/html/data \
-v theme:/var/www/html/themes/<YOUR_CUSTOM_THEME> \
nextcloud
admin/112233chen?
启动 zipkin
docker pull openzipkin/zipkin
docker run -d -p 9411:9411 --name zipkin openzipkin/zipkin
启动 eureka
docker run -d -p 9000:9000 --name eureka-server eureka-server
docker run -d -p 9000:9000 --name eureka-server springcloud/eureka
启动 elasticsearch
docker pull docker.io/elasticsearch:版本号
docker pull docker.io/elasticsearch:7.1.1
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" b0e9f9f047e6
# 测试启动状态
curl http://127.0.0.1:9200/
{
"name" : "e0f6c316f0e1",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "j7h9DhTHQI-bBGv8kIN7vA",
"version" : {
"number" : "7.1.1",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "7a013de",
"build_date" : "2019-05-23T14:04:00.380842Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
# 安装搜索引擎 分词器
docker exec -it es bash
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.1.1/elasticsearch-analysis-ik-7.1.1.zip
docker graylog
# 创建mongo数据库访问用户
db.createUser({"user": "graylog","pwd": passwordPrompt(),"roles": [{role: "dbOwner",db: "graylog"},]})
# 配置启动graylog
# 使用的IP服务不能使用本地IP
docker run --name graylog \
-p 9000:9000 -p 12201:12201 -p 1514:1514 -p 5555:5555 \
-e GRAYLOG_HTTP_EXTERNAL_URI="http://127.0.0.1:9000/" \
-e GRAYLOG_MONGODB_URI=mongodb://graylog:graylog@172.30.10.201:27017/graylog \
-e GRAYLOG_ROOT_TIMEZONE=Asia/Shanghai \
-e GRAYLOG_ELASTICSEARCH_HOSTS=http://172.30.10.201:9200 \
-e GRAYLOG_ROOT_USERNAME=admin \
-e GRAYLOG_PASSWORD_SECRET=somepasswordpepper \
-e GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918 \
-d graylog/graylog
正文到此结束
- 本文标签: Linux docker
- 本文链接: https://www.letcode.cn/article/5
- 版权声明: 本文由Jack.Chen原创发布,转载请遵循《 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权