跳到主要内容

运行常见镜像的容器命令

Jenkins

docker run \
-u root \
--rm \
-d \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
  • --rm(可选) jenkinsci/blueocean 关闭时自动删除Docker容器(下图为实例)。如果您需要退出Jenkins,这可以保持整洁
  • -d (可选)jenkinsci/blueocean 在后台运行容器(即“分离”模式)并输出容器ID。如果您不指定此选项, 则在终端窗口中输出正在运行的此容器的Docker日志。
  • -p 映射(例如“发布”)jenkinsci/blueocean 容器的端口8080到主机上的端口8080。 第一个数字代表主机上的端口,而最后一个代表容器的端口。因此,如果您为此选项指定 -p 49000:8080 ,您将通过端口49000访问主机上的Jenkins。
  • -v 将此目录映射到计算机本地文件系统上的目录
  • -v /var/run/docker.sock:/var/run/docker.sock(可选 /var/run/docker.sock 表示Docker守护程序通过其监听的基于Unix的套接字。 该映射允许 jenkinsci/blueocean 容器与Docker守护进程通信, 如果 jenkinsci/blueocean 容器需要实例化其他Docker容器,则该守护进程是必需的。

Nginx

# nginx相关配置
docker run \
--name="nginx" \
--hostname="nginx" \
-p 80:80 \
-p 443:443 \
--mount type=bind,source=/home/username/docker_containers/nginx/html,target=/usr/share/nginx/html \
--mount type=bind,source=/home/username/docker_containers/nginx/conf,target=/etc/nginx \
--mount type=bind,source=/home/username/docker_containers/nginx/log,target=/var/log/nginx \
--privileged=true \
--restart=unless-stopped \
-d \
nginx:1.26.0

.NET WEBAPI

docker run \
--network docker-network \
--name="name" \
--hostname="hostname" \
-d -p 80:80 \
--restart=unless-stopped \
dockerDomain/imageRepository:imageTag
  • --network docker-network 一般自定义一个网络,方便管理
  • --hostname Nginx中可以使用它做反向代理

NodeJS

docker run \
--network docker-network \
--name="name" \
-d \
-p 3000:3000 \
--restart=unless-stopped \
-e NEXT_PUBLIC_HOST=https://URL/VirtualPath \
dockerDomain/imageRepository:imageTag

MySQL

先启动一个临时容器,将容器中的数据导出到宿主机,后续再挂载到正式容器

docker run \
-p 10001:3306 \
--name="mysql" \
--hostname="mysql" \
--privileged=true \
--network docker-network \
--restart unless-stopped \
-v /home/root/docker_containers/mysql/mysql:/etc/mysql \
-v /home/root/docker_containers/mysql/logs:/logs \
-v /home/root/docker_containers/mysql/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=XXXXXXXXXX \
-d mysql:8.0.36
  • -e MYSQL_ROOT_PASSWORD 初始密码