原创

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
正文到此结束
本文目录