è¿æ¯ Docker çå¿«éåèå¤å¿åã ä½ å¯ä»¥å¨è¿éæ¾å°æå¸¸è§ç Docker å½ä»¤ã
curl -sSL https://get.docker.com/ | sh
sudo chmod 777 /var/run/docker.sock
å¨åå°å建åè¿è¡å®¹å¨
$ docker run -d -p 80:80 docker/getting-started
-d - 以å离ï¼åå°ï¼æ¨¡å¼è¿è¡å®¹å¨-p 80:80 - å°ç«¯å£ 80 æ å°å°å®¹å¨ä¸çç«¯å£ 80ï¼æ ¼å¼ï¼å®¿ä¸»æºç«¯å£:容å¨ç«¯å£docker/getting-started - è¦ä½¿ç¨çéåå¨åå°å建并è¿è¡å®¹å¨ï¼ä¹å妿è¦éåºå®¹å¨ä½æ¯ä¸å ³é容å¨ï¼æCtrl+P+Qå³å¯ï¼
$ docker run -it --rm -p 8001:8080 --name my-nginx nginx
-it - 交äºå¼ bash 模å¼--rm - 容å¨ç»æ¢è¿è¡åèªå¨å é¤å®¹å¨æä»¶-p 8001:8080 - å° 8001 ç«¯å£æ å°å°å®¹å¨ä¸ç 8080 端å£--name my-nginx - æå®åç§°nginx - è¦ä½¿ç¨çéå| Example | Description |
|---|---|
docker ps | ååºæ£å¨è¿è¡çå®¹å¨ |
docker ps -a | ååºææå®¹å¨ |
docker ps -s | ååºæ£å¨è¿è¡çå®¹å¨ (带 CPU / å å) |
docker images | ååºææéå |
docker exec -it <container> bash | è¿æ¥å°å®¹å¨ |
docker logs <container> | æ¾ç¤ºå®¹å¨çæ§å¶å°æ¥å¿ |
docker stop <container> | åæ¢å®¹å¨ |
docker restart <container> | éå¯ä¸ä¸ªå®¹å¨ |
docker rm <container> | ç§»é¤ä¸ä¸ªå®¹å¨ |
docker port <container> | æ¾ç¤ºå®¹å¨çç«¯å£æ å° |
docker top <container> | ååºè¿ç¨ |
docker kill <container> | ææ»ä¸ä¸ªå®¹å¨ |
åæ° <container> å¯ä»¥æ¯å®¹å¨ id æåç§°
| Description | Example |
|---|---|
docker start nginx-server | å¼å§ |
docker stop nginx-server | 忢 |
docker restart nginx-server | éå¯ |
docker pause nginx-server | æå |
docker unpause nginx-server | åæ¶æå |
docker wait nginx-server | é»å¡å®¹å¨ |
docker kill nginx-server | åé SIGKILL |
docker attach nginx-server | è¿æ¥å°ç°æå®¹å¨ |
| Example | Description |
|---|---|
docker ps | ååºæ£å¨è¿è¡çå®¹å¨ |
docker ps -a | ååºææå®¹å¨ |
docker logs nginx-server | 容卿¥å¿ |
docker inspect nginx-server | æ£æ¥å®¹å¨ |
docker events nginx-server | 容å¨äºä»¶ |
docker port nginx-server | å ¬å ±ç«¯å£ |
docker top nginx-server | è¿è¡è¿ç¨ |
docker stats nginx-server | 容å¨èµæºä½¿ç¨ |
docker diff nginx-server | ååºå¯¹å®¹å¨æåçæ´æ¹ |
docker create [options] IMAGE
-a, --attach # éå æ åè¾åº/é误
-i, --interactive # éå æ åè¾å
¥ï¼äº¤äºå¼ï¼
-t, --tty # 伪ç»ç«¯ pseudo-tty
--name NAME # å½åä½ çéå
-p, --publish 5000:5000 # ç«¯å£æ å°ï¼ä¸»æº:容å¨ï¼
--expose 5432 # å容å¨å
¬å¼ç«¯å£
-P, --publish-all # å叿æç«¯å£
--link container:alias # 龿¥ linking
-v, --volume `pwd`:/app # mountï¼éè¦ç»å¯¹è·¯å¾ï¼
-e, --env NAME=hello # ç¯å¢åé env vars
$ docker create --name my_redis --expose 6379 redis:3.0.2
éå½å容å¨
docker rename my-nginx nginx-server
ç§»é¤å®¹å¨
docker rm nginx-server
æ´æ°å®¹å¨
docker update --cpu-shares 512 -m 300M nginx-server
Example | Description |
|---|---|
docker images | ååºéå |
docker rmi nginx | å é¤éå |
docker load < ubuntu.tar.gz | å è½½ä¸ä¸ª tarred åå¨åº |
docker load --input ubuntu.tar | å è½½ä¸ä¸ª tarred åå¨åº |
docker save busybox > ubuntu.tar | å°éåä¿åå° tar åæ¡£ |
docker history | æ¾ç¤ºéåçåå² |
docker commit nginx my_nginx | å°å®¹å¨å¦å为éå |
docker tag nginx eon01/nginx | æ è®°éå |
docker push eon01/nginx | æ¨ééå |
# 注ææçæå颿¯è±æ .
$ docker build .
$ docker build github.com/creack/docker-firefox
$ docker build - < Dockerfile
$ docker build - < context.tar.gz
$ docker build -t eon/nginx-server .
$ docker build -f myOtherDockerfile .
$ docker build --build-arg https_proxy=127.0.0.1:8088 # 使ç¨http代çæå»º
$ curl example.com/remote/Dockerfile | docker build -f - .
$ docker save -o <ä¿åè·¯å¾>/myimage.tar myimage:latest # 导åº
$ docker load -i <è·¯å¾>/myimage.tar # 导å
¥
$ docker rmi -f $(docker images | grep "none" | awk '{print $3}')
docker network create -d overlay MyOverlayNetwork
docker network create -d bridge MyBridgeNetwork
èªå®ä¹ç½ç»åç½åç½å ³
docker network create -d overlay \
--subnet=192.168.0.0/16 \
--subnet=192.170.0.0/16 \
--gateway=192.168.0.100 \
--gateway=192.170.0.100 \
--ip-range=192.168.1.0/24 \
--aux-address="my-router=192.168.1.5" \
--aux-address="my-switch=192.168.1.6" \
--aux-address="my-printer=192.170.1.5" \
--aux-address="my-nas=192.170.1.6" \
MyOverlayNetwork
è·å容å¨è¿æ¥çç½ç»
docker inspect MyContainer | grep Network
è·åæå ³ç½ç»çä¿¡æ¯
docker network inspect <network_name>
å°æ£å¨è¿è¡ç容å¨è¿æ¥å°ç½ç»
docker network connect <network_name> <container_name>
å¯å¨æ¶å°å®¹å¨è¿æ¥å°ç½ç»
docker run -it -d --network=<network_name> <container_name>
æå¼å®¹å¨ä¸ç½ç»çè¿æ¥
docker network disconnect <network_name> <container_name>
docker network rm <network_name>
docker network ls
éè¦ç¹å«æ³¨æçæ¯ï¼éåºå¿«æ·é®ä¸çå é¤å®¹å¨å®ä¾ï¼åªå¯¹äºä½¿ç¨ docker attach è¿å
¥ç容å¨çæï¼ä½¿ç¨ docker exec è¿å
¥å®¹å¨åï¼ä½¿ç¨ä¸é¢çå¿«æ·é®åå°é离容å¨ï¼ä¸ä¸ä¼å é¤å®¹å¨å®ä¾ã
| Docker å¿«æ·é® | 说æ |
|---|---|
ctrl c | å°å ³éå®¹å¨ |
å°å ³é容å¨, å¹¶å é¤å½åç容å¨å®ä¾
| Docker å¿«æ·é® | 说æ |
|---|---|
ctrl d | ä¿çå®¹å¨ |
å°ä¿ç容å¨ï¼å¹¶éåºå°Docker主æºçå½ä»¤è¡çé¢
| Docker å¿«æ·é® | 说æ |
|---|---|
ctrl p q | 容å¨å离 |
å°å®¹å¨å离ï¼ä¿ç容å¨ï¼ä½æ¯ä¸éåº
$ docker search search_word # å¨ docker hub ä¸æç´¢éå
$ docker pull user/image # ä» docker hub ä¸è½½éå
$ docker login # å docker hub è¿è¡èº«ä»½éªè¯
$ docker push user/image # å°éåä¸ä¼ å° docker hub
ç»å½å°éåä»åº
$ docker login
$ docker login localhost:8080
ä»éåä»åºæ³¨é
$ docker logout
$ docker logout localhost:8080
æç´¢éå
$ docker search nginx
$ docker search nginx --stars=3 --no-trunc busybox
æåéå
$ docker pull nginx
$ docker pull eon01/nginx localhost:5000/myadmin/nginx
æ¨ééå
$ docker push eon01/nginx
$ docker push eon01/nginx localhost:5000/myadmin/nginx
| å®ä¾ | 说æ |
|---|---|
docker stop -f $(docker ps -a -q) | 忢ææå®¹å¨ |
docker rm -f $(docker ps -a -q) | å 餿æå®¹å¨ |
docker rmi -f $(docker images -q) | å 餿æéå |
docker volume prune | å é¤æææªä½¿ç¨çDocker Volume |
docker network prune | å é¤æææªä½¿ç¨çDockerç½ç» |
docker system prune | æ¸ çææç©ºé²æä¸ä»»ä½Docker容卿 å ³çèµæº |
docker image prune | å 餿¬ç©ºçDockeréå |
docker container prune | å é¤æææªä½¿ç¨çDocker å®¹å¨ |
$ docker volume ls # æ£æ¥å·
$ docker volume prune # æ¸
çæªä½¿ç¨çå·
| :- | :- |
|---|---|
docker service create <options> <image> <command> | åå»ºæ°æå¡ |
docker service inspect --pretty <service_name> | æ¾ç¤ºè¯¦ç»ä¿¡æ¯æå¡ |
docker service ls | ååºæå¡ |
docker service ps | ååºæå¡çä»»å¡ |
docker service scale <service_name>=<replica> | è§æ¨¡ç¹æ®æå¡ |
docker service update <options> <service_name> | æ´æ°æå¡é项 |
| :- | :- |
|---|---|
docker stack ls | ååºæ¤ Docker 主æºä¸æææ£å¨è¿è¡çåºç¨ç¨åº |
docker stack deploy -c <composefile> <appname> | è¿è¡æå®ç Compose æä»¶ |
docker stack services <appname> | ååºä¸åºç¨å ³èçæå¡ |
docker stack ps <appname> | ååºä¸åºç¨å ³èçæ£å¨è¿è¡çå®¹å¨ |
docker stack rm <appname> | ææä¸ä¸ªåºç¨ç¨åº |
| :- | :- |
|---|---|
attach | å°æ¬å°æ åè¾å ¥ãè¾åºåé误æµéå å°æ£å¨è¿è¡çå®¹å¨ |
build | ä» Dockerfile æå»ºéå |
commit | ä»å®¹å¨çæ´æ¹å建æ°éå |
cp | å¨å®¹å¨åæ¬å°æä»¶ç³»ç»ä¹é´å¤å¶æä»¶/æä»¶å¤¹ |
create | å建ä¸ä¸ªæ°å®¹å¨ |
diff | æ£æ¥å®¹å¨æä»¶ç³»ç»ä¸æä»¶æç®å½çæ´æ¹ |
events | 仿å¡å¨è·å宿¶äºä»¶ |
exec | 卿£å¨è¿è¡ç容å¨ä¸è¿è¡å½ä»¤ |
export | å°å®¹å¨çæä»¶ç³»ç»å¯¼åºä¸º tar åæ¡£ |
history | æ¾ç¤ºéåçåå² |
images | ååºéå |
import | ä» tarball å¯¼å ¥å 容以å建æä»¶ç³»ç»æ å |
info | æ¾ç¤ºç³»ç»èå´çä¿¡æ¯ |
inspect | è¿åæå ³ Docker 对象çä½çº§ä¿¡æ¯ |
kill | ææ»ä¸ä¸ªæå¤ä¸ªæ£å¨è¿è¡çå®¹å¨ |
load | ä» tar åæ¡£æ STDIN å è½½éå |
login | ç»å½å° Docker 注å表 |
logout | ä» Docker 注åè¡¨ä¸æ³¨é |
logs | è·å容å¨çæ¥å¿ |
pause | æåä¸ä¸ªæå¤ä¸ªå®¹å¨å çææè¿ç¨ |
port | ååºå®¹å¨çç«¯å£æ å°æç¹å®æ å° |
ps | ååºå®¹å¨ |
pull | 仿³¨åè¡¨ä¸æåéåæåå¨åº |
push | å°éåæåå¨åºæ¨éå°æ³¨å表 |
rename | éå½åå®¹å¨ |
restart | éå¯ä¸ä¸ªæå¤ä¸ªå®¹å¨ |
rm | ç§»é¤ä¸ä¸ªæå¤ä¸ªå®¹å¨ |
rmi | ç§»é¤ä¸å¼ æå¤å¼ éå |
run | 卿°å®¹å¨ä¸è¿è¡å½ä»¤ |
save | å°ä¸ä¸ªæå¤ä¸ªéåä¿åå° tar åæ¡£ï¼é»è®¤æµå¼ä¼ è¾å° STDOUTï¼ |
search | å¨ Docker Hub ä¸æç´¢éå |
start | å¯å¨ä¸ä¸ªæå¤ä¸ªåæ¢çå®¹å¨ |
stats | æ¾ç¤ºå®¹å¨èµæºä½¿ç¨ç»è®¡ç宿¶æµ |
stop | 忢ä¸ä¸ªæå¤ä¸ªæ£å¨è¿è¡çå®¹å¨ |
tag | å建ä¸ä¸ªå¼ç¨ SOURCE_IMAGE çæ è®° TARGET_IMAGE |
top | æ¾ç¤ºå®¹å¨çè¿è¡è¿ç¨ |
unpause | åæ¶æåä¸ä¸ªæå¤ä¸ªå®¹å¨ä¸çææè¿ç¨ |
update | æ´æ°ä¸ä¸ªæå¤ä¸ªå®¹å¨çé ç½® |
version | æ¾ç¤º Docker çæ¬ä¿¡æ¯ |
wait | é»å¡ç´å°ä¸ä¸ªæå¤ä¸ªå®¹å¨åæ¢ï¼ç¶åæå°å®ä»¬çéåºä»£ç |
| :- | :- |
|---|---|
docker builder | 管çæå»º |
docker buildx* | Docker Buildxï¼Docker Inc.ï¼v0.7.1ï¼ |
docker compose* | Docker Composeï¼Docker Inc.ï¼v2.2.3ï¼ |
docker config | 管ç Docker é ç½® |
docker container | 管çå®¹å¨ |
docker context | 管çä¸ä¸æ |
docker image | 管çéå |
docker manifest | 管ç Docker é忏 å忏 åå表 |
docker network | 管çç½ç» |
docker secret | 管ç Docker æºå¯ |
docker system | 管ç Docker |
docker volume | 管çå· |
docker search | æç´¢éå |
æªè³ 2025 å¹´ 8 æææ°å®æ¹ä¿¡æ¯ï¼ä»¥ä¸åè½å¤äºç»´æ¤æ¨¡å¼ï¼å»ºè®®è¿ç§»å°Kubernetesï¼æè å ¶ä»ç¼æå·¥å ·ã
| å½ä»¤ | ç¨é | ç¶æè¯´æ |
|---|---|---|
docker swarm | 管ç Swarm é群 | ç»´æ¤æ¨¡å¼ |
docker service | Swarm æå¡ç®¡ç | ç»´æ¤æ¨¡å¼ |
docker stack | Swarm 夿å¡é¨ç½² | ç»´æ¤æ¨¡å¼ |
docker node | Swarm èç¹ç®¡ç | ç»´æ¤æ¨¡å¼ |
docker plugin | æä»¶ç®¡ç | çææ´»è·åº¦ä½ï¼ç»´æ¤ä¸ |
å·²åºå¼æè¢«ç§»é¤
| å½ä»¤ | ç¨é | å代æ¹å¼ |
|---|---|---|
docker-machine | å建/管çè¿ç¨ Docker ä¸»æº | ä½¿ç¨ cloud provider CLI æ SSH + docker context |
docker trust | å 容信任ï¼Notary v1ï¼ | è¿ç§»å° Notary v2ï¼éåç¾åï¼ |
docker app | CNAB åºç¨å 管ç | å·²å¹¶å ¥ Compose/å ¶ä»å·¥å · |
docker searchï¼æ§ APIï¼ | Docker Hub æç´¢ | ç¨ Hub Web API æ CLI æä»¶ |
docker manifestï¼æ§çæ¬ï¼ | å¤å¹³å°éå管ç | å·²éæå° docker buildx imagetools |
--config string # 客æ·ç«¯é
ç½®æä»¶çä½ç½®ï¼é»è®¤â~/.dockerâï¼
-c, --context string # ç¨äºè¿æ¥å°å®æ¤ç¨åºçä¸ä¸æçåç§°ï¼
# è¦ç DOCKER_HOST ç¯å¢åéå使ç¨
# âdocker context useâ 设置çé»è®¤ä¸ä¸æï¼
-D, --debug # å¯ç¨è°è¯æ¨¡å¼
-H, --host list # è¦è¿æ¥ç宿¤è¿ç¨å¥æ¥å
-l, --log-level string # 设置æ¥å¿çº§å«
# ï¼é»è®¤âinfoâï¼ ("debug"|"info"|"warn"|"error"|"fatal")
--tls # ä½¿ç¨ TLSï¼ ç± --tlsverify æç¤º
--tlscacert string # ä»
ç±è¯¥ CA ç¾ç½²çä¿¡ä»»è¯ä¹¦
#ï¼é»è®¤ä¸ºâ~/.docker/ca.pemâï¼
--tlscert string # TLSè¯ä¹¦æä»¶è·¯å¾
#ï¼é»è®¤â~/.docker/cert.pemâï¼
--tlskey string # TLS å¯é¥æä»¶çè·¯å¾
#ï¼é»è®¤ä¸ºâ~/.docker/key.pemâï¼
--tlsverify # ä½¿ç¨ TLS å¹¶éªè¯è¿ç¨
-v, --version # æå°çæ¬ä¿¡æ¯å¹¶éåº
-a, --all æ¾ç¤ºææéåï¼é»è®¤éèä¸é´éåï¼
--digests æ¾ç¤ºæè¦
-f, --filter filter æ ¹æ®æä¾çæ¡ä»¶è¿æ»¤è¾åº
--format string ä½¿ç¨ Go æ¨¡æ¿æå°æ¼äº®çéå
--no-trunc ä¸è¦æªæè¾åº
-q, --quiet ä»
æ¾ç¤ºéå ID
--add-host list # æ·»å èªå®ä¹ä¸»æºå° IP æ å° (host:ip)
-a, --attach list # è¿æ¥å° STDINãSTDOUT æ STDERR
--blkio-weight uint16 # å IOï¼ç¸å¯¹æéï¼ï¼ä»äº 10 å 1000 ä¹é´ï¼æ 0 ç¦ç¨ï¼é»è®¤ 0ï¼
--blkio-weight-device list # å IO æéï¼ç¸å¯¹è®¾å¤æéï¼ï¼é»è®¤ []ï¼
--cap-add list # æ·»å Linux åè½
--cap-drop list # æ¾å¼ Linux åè½
--cgroup-parent string # 容å¨çå¯éç¶ cgroup
--cgroupns string # è¦ä½¿ç¨ç Cgroup å½å空é´ï¼ä¸»æº|ç§æï¼
# 'host': å¨ Docker 主æºç cgroup å½å空é´ä¸è¿è¡å®¹å¨
# 'private': å¨èªå·±çç§æ cgroup å½å空é´ä¸è¿è¡å®¹å¨
# '': 使ç¨ç±å®æ¤è¿ç¨ä¸ç
# default-cgroupns-mode é项é
ç½®ç cgroup å½å空é´ï¼é»è®¤ï¼
--cidfile string # å°å®¹å¨ ID åå
¥æä»¶
--cpu-period int # éå¶ CPU CFSï¼å®å
¨å
¬å¹³è°åº¦å¨ï¼å¨æ
--cpu-quota int # éå¶ CPU CFSï¼å®å
¨å
¬å¹³è°åº¦å¨ï¼é
é¢
--cpu-rt-period int # 以微ç§ä¸ºåä½éå¶ CPU 宿¶å¨æ
--cpu-rt-runtime int # 以微ç§ä¸ºåä½éå¶ CPU 宿¶è¿è¡æ¶é´
-c, --cpu-shares int # CPU 份é¢ï¼ç¸å¯¹æéï¼
--cpus decimal # CPU æ°é
--cpuset-cpus string # å
许æ§è¡ç CPU (0-3, 0,1)
--cpuset-mems string # å
许æ§è¡ç MEM (0-3, 0,1)
--device list # å°ä¸»æºè®¾å¤æ·»å å°å®¹å¨
--device-cgroup-rule list # å°è§åæ·»å å° cgroup å
许ç设å¤å表
--device-read-bps list # éå¶è®¾å¤ç读åéçï¼æ¯ç§åèæ°ï¼ï¼é»è®¤ []ï¼
--device-read-iops list # éå¶è®¾å¤ç读åéçï¼æ¯ç§ IOï¼ï¼é»è®¤ []ï¼
--device-write-bps list # éå¶è®¾å¤çåå
¥éçï¼æ¯ç§åèæ°ï¼ï¼é»è®¤ []ï¼
--device-write-iops list # éå¶è®¾å¤çåå
¥éçï¼æ¯ç§ IOï¼ï¼é»è®¤ []ï¼
--disable-content-trust # è·³è¿éåéªè¯ï¼é»è®¤ä¸º trueï¼
--dns list # 设置èªå®ä¹ DNS æå¡å¨
--dns-option list # 设置 DNS é项
--dns-search list # 设置èªå®ä¹ DNS æç´¢å
--domainname string # å®¹å¨ NIS åå
--entrypoint string # è¦çéåçé»è®¤å
¥å£ç¹
-e, --env list # 设置ç¯å¢åé
--env-file list # 读å
¥ç¯å¢åéæä»¶
--expose list # å
¬å¼ä¸ä¸ªç«¯å£æä¸ç³»å端å£
--gpus gpu-request # è¦æ·»å å°å®¹å¨ä¸ç GPU 设å¤ï¼âå
¨é¨âä»¥ä¼ éææ GPUï¼
--group-add list # æ·»å å
¶ä»ç»ä»¥å å
¥
--health-cmd string # è¿è¡ä»¥æ£æ¥è¿è¡ç¶åµçå½ä»¤
--health-interval duration # è¿è¡æ£æ¥ä¹é´çæ¶é´ (ms|s|m|h) (é»è®¤ 0s)
--health-retries int # éè¦æ¥åä¸å¥åº·çè¿ç»å¤±è´¥
--health-start-period duration # å¼å§å¥åº·éè¯å计æ¶ä¹å容å¨åå§åçå¼å§æ¶é´ï¼ms|s|m|hï¼ï¼é»è®¤ 0sï¼
--health-timeout duration # å
许è¿è¡ä¸é¡¹æ£æ¥çæé¿æ¶é´ (ms|s|m|h) (é»è®¤ 0s)
--help # æå°ä½¿ç¨
-h, --hostname string # 容å¨ä¸»æºå
--init # å¨å®¹å¨å
è¿è¡ä¸ä¸ª init æ¥è½¬åä¿¡å·å¹¶æ¶è·è¿ç¨
-i, --interactive # å³ä½¿æ²¡æè¿æ¥ï¼ä¹ä¿æ STDIN æå¼
--ip string # IPv4 å°åï¼ä¾å¦ 172.30.100.104ï¼
--ip6 string # IPv6 å°åï¼ä¾å¦ï¼2001:db8::33ï¼
--ipc string # è¦ä½¿ç¨ç IPC 模å¼
--isolation string # 容å¨éç¦»ææ¯
--kernel-memory bytes # å
æ ¸å
åéå¶
-l, --label list # å¨å®¹å¨ä¸è®¾ç½®å
æ°æ®
--label-file list # 读å
¥ä»¥è¡åéçæ ç¾æä»¶
--link list # æ·»å å°å¦ä¸ä¸ªå®¹å¨ç龿¥
--link-local-ip list # å®¹å¨ IPv4/IPv6 é¾è·¯æ¬å°å°å
--log-driver string # 容å¨çæ¥å¿è®°å½é©±å¨ç¨åº
--log-opt list # æ¥å¿é©±å¨ç¨åºé项
--mac-address string # å®¹å¨ MAC å°åï¼ä¾å¦ 92:d0:c6:0a:29:33ï¼
-m, --memory bytes # å
åéå¶
--memory-reservation bytes # å
å软éå¶
--memory-swap bytes # 交æ¢éå¶çäºå
åå ä¸äº¤æ¢ï¼'-1' å¯ç¨æ é交æ¢
--memory-swappiness int # è°æ´å®¹å¨å
å交æ¢ï¼0 å° 100ï¼ï¼é»è®¤ -1ï¼
--mount mount # å°æä»¶ç³»ç»æè½½éå å°å®¹å¨
--name string # 为容å¨åé
åç§°
--network network # å°å®¹å¨è¿æ¥å°ç½ç»
--network-alias list # ä¸ºå®¹å¨æ·»å ç½ç»èå´çå«å
--no-healthcheck # ç¦ç¨ä»»ä½å®¹å¨æå®ç HEALTHCHECK
--oom-kill-disable # ç¦ç¨ OOM ææ
--oom-score-adj int # è°æ´ä¸»æºç OOM é¦é项ï¼-1000 å° 1000ï¼
--pid string # è¦ä½¿ç¨ç PID å½å空é´
--pids-limit int # è°æ´å®¹å¨ pids éå¶ï¼è®¾ç½® -1 表示æ éå¶ï¼
--platform string # 妿æå¡å¨æ¯æå¤å¹³å°ï¼å设置平å°
--privileged # æäºæ¤å®¹å¨æ©å±æé
-p, --publish list # å°å®¹å¨ç端å£åå¸å°ä¸»æº
-P, --publish-all # å°æææ´é²ç端å£åå¸å°éæºç«¯å£
--pull string # å建åæåéå("always"|"missing"|"never")(é»è®¤"missing")
--read-only # å°å®¹å¨çæ ¹æä»¶ç³»ç»æè½½ä¸ºåªè¯»
--restart string # 容å¨éåºæ¶åºç¨çéå¯çç¥ï¼é»è®¤âå¦âï¼
--rm # 容å¨éåºæ¶èªå¨ç§»é¤
--runtime string # ç¨äºæ¤å®¹å¨çè¿è¡æ¶
--security-opt list # å®å
¨é项
--shm-size bytes # /dev/shm ç大å°
--stop-signal string # 忢容å¨çä¿¡å·ï¼é»è®¤âSIGTERMâï¼
--stop-timeout int # 忢容å¨çè¶
æ¶ï¼ä»¥ç§ä¸ºåä½ï¼
--storage-opt list # 容å¨çåå¨é©±å¨ç¨åºé项
--sysctl map # Sysctl é项ï¼é»è®¤ map[]ï¼
--tmpfs list # æè½½ tmpfs ç®å½
-t, --tty # åé
ä¸ä¸ªä¼ª TTY
--ulimit ulimit # ulimit é项ï¼é»è®¤ []ï¼
-u, --user string # ç¨æ·åæ UIDï¼æ ¼å¼ï¼<name|uid>[:<group|gid>]ï¼
--userns string # è¦ä½¿ç¨çç¨æ·å½å空é´
--uts string # è¦ä½¿ç¨ç UTS å½å空é´
-v, --volume list # ç»å®æè½½å·
--volume-driver string # 容å¨çå¯éå·é©±å¨ç¨åº
--volumes-from list # 仿å®å®¹å¨æè½½å·
-w, --workdir string # 容å¨å
çå·¥ä½ç®å½
run/create 大é¨ååæ°ä¸è´
æ¨å¯ä»¥éè¿ä¿®æ¹daemoné ç½®æä»¶/etc/docker/daemon.jsonæ¥ä½¿ç¨å éå¨
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://1ojaslt1.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
忢 Docker æå¡ï¼
sudo systemctl stop docker
å°ç°æç Docker æ°æ®ç§»å¨å°æ°çç®å½ï¼
sudo mv /var/lib/docker /new/path/docker
æ´æ° Docker çé
ç½®æä»¶ /etc/docker/daemon.jsonï¼æ·»å æä¿®æ¹ data-root é项ï¼
{ "data-root": "/new/path/docker" }
éæ°å¯å¨ Docker æå¡ï¼
sudo systemctl start docker
â ï¸æ³¨æï¼å½ä½ æ§è¡æ¤æä½æ¶ï¼æ§ç容å¨åéåå¯è½æ æ³æ£å¸¸å·¥ä½ï¼å 为å®ä»¬çè·¯å¾å·²æ´æ¹ã建议å¨é¨ç½² Docker æ¶æ§è¡æ¤æä½ï¼ä»¥é¿å è¿äºé®é¢ãå¦æå¿ è¦ï¼éæ°å¯å¨å®¹å¨æéæ°å建å®ä»¬ï¼ä»¥ç¡®ä¿å®ä»¬çé ç½®æåæ°çè·¯å¾ã
yum downgrade --setopt=obsoletes=0 \
-y docker-ce-${version} docker-ce-selinux-${version}
${version} æå®è¦é级ççæ¬
$ docker run -d --name portainer \
-p 8000:8000 \
-p 9443:9443 \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $HOME/portainer:/data \
portainer/portainer-ce:latest
docker run -itd -p 80:80 --restart=always --name Nginx \
-v $HOME/nginx_data/html:/usr/share/nginx/html \
-v $HOME/nginx_data/conf:/etc/nginx/conf.d \
-v $HOME/nginx_data/nginx.conf:/etc/nginx/nginx.conf \
nginx
-itd: å¯å¨å®¹å¨å¹¶ä¿æåå°è¿è¡-p 80:80: å°ä¸»æºç 80 ç«¯å£æ å°å°å®¹å¨ç 80 端å£ï¼ç¨äºè®¿é® Nginx ç«ç¹é¡µé¢--name Nginx: ç»å®¹å¨æå®ä¸ä¸ªå称为 "Nginx"--restart=always: å¨å®¹å¨éåºæ¶ï¼æ»æ¯éæ°å¯å¨å®¹å¨| -- | -- |
|---|---|
-v $HOME/nginx_data/html:/usr/share/nginx/html | å°å®¹å¨ä¸ç Nginx ç«ç¹é¡µé¢è·¯å¾æ å°å°æ¬å° |
-v $HOME/nginx_data/conf:/etc/nginx/conf.d | å°å®¹å¨ä¸ç Nginx èæä¸»æºé ç½®æä»¶è·¯å¾æ å°å°æ¬å° (éè¦æååå¤å¥½æä»¶) |
-v $HOME/nginx_data/nginx.conf:/etc/nginx/nginx.conf | å°å®¹å¨ä¸ç Nginx 主é ç½®æä»¶è·¯å¾æ å°å°æ¬å° (éè¦æååå¤å¥½æä»¶) |
docker run -itd -p 8080:8080 --restart=always \
--name Tomcat \
-v $HOME/Tomcat_data/webapps:/usr/local/tomcat/webapps/ROOT \
tomcat
-itd: 以åå°è¿è¡çæ¹å¼å¯å¨å®¹å¨ï¼å¹¶åé
ä¸ä¸ªä¼ªç»ç«¯ï¼pseudo-TTYï¼åä¿æ STDIN æå¼-p 8080:8080: å°ä¸»æºçç«¯å£ 8080 æ å°å°å®¹å¨ç 8080 端å£ï¼ç¨äºè®¿é® Tomcat ç«ç¹é¡µé¢--name Tomcat: ä¸ºå®¹å¨æå®å称为 "Tomcat"--restart=always: å½å®¹å¨éåºæ¶ï¼æ»æ¯éæ°å¯å¨å®¹å¨å°å®¹å¨ä¸ç /usr/local/tomcat/webapps/ROOT è·¯å¾æè½½å°å®¿ä¸»æºä¸ç $HOME/Tomcat_data/webapps ç®å½ä¸ã
docker run -itd \
-p 7001:7001 \
-p 7002:7002 \
-p 5556:5556 \
--restart=always --name Weblogic ismaleiva90/weblogic12
注æï¼ismaleiva90/weblogic12 æ¯é宿¹æè®¤è¯ç Docker éåï¼
-itd: åå°è¿è¡å®¹å¨ï¼ä¿æ STDIN æå¼-p 7001:7001: æ å°ä¸»æº 7001 端å£å°å®¹å¨ 7001 端å£ï¼è®¿é® Weblogic æ§å¶å°é¡µé¢-p 7002:7002: æ å°ä¸»æº 7002 端å£å°å®¹å¨ 7002 端å£ï¼è®¿é® Weblogic ç«ç¹é¡µé¢-p 5556:5556: æ å°ä¸»æº 5556 端å£å°å®¹å¨ 5556 端å£ï¼è®¿é® Weblogic ç«ç¹é¡µé¢--name Weblogic: 容å¨å称为 "Weblogic"--restart=always: 容å¨éåºæ¶ï¼æ»æ¯éæ°å¯å¨å®¹å¨docker run -d -it -p 3306:3306 --name MySQL --restart=always \
-v $HOME/MySQL_Data/data:/var/lib/mysql \
-v $HOME/MySQL_Data/conf:/etc/mysql/conf.d \
--privileged=true \
-e MYSQL_DATABASE='test_db' \
-e MYSQL_ROOT_PASSWORD='abc$123' \
-e MYSQL_USER='testuser' -e MYSQL_PASSWORD='abc$123' \
mysql:8.0.31 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci
| -- | -- |
|---|---|
-d | 表示以åå°è¿è¡çæ¹å¼å¯å¨å®¹å¨ |
-it | åå«è¡¨ç¤ºåé ä¸ä¸ªä¼ªç»ç«¯ï¼pseudo-TTYï¼å¹¶ä¿æ STDIN æå¼ |
-p 3306:3306 | å°ä¸»æºçç«¯å£æ å°å°å®¹å¨ç端å£ï¼è¿éæ¯å°ä¸»æºç 3306 ç«¯å£æ å°å°å®¹å¨ç 3306 端å£ï¼ç¨äºè®¿é® MySQL æ°æ®åº |
--name MySQL | ä¸ºå®¹å¨æå®ä¸ä¸ªåç§°ï¼è¿éæ¯ "MySQL" |
--restart=always | 表示å½å®¹å¨éåºæ¶ï¼æ»æ¯éæ°å¯å¨å®¹å¨ |
--privileged=true | è¥ä¸å åæ®µ--privileged=trueå¯è½ä¼æ¥æéé误 |
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci | è¿ä¸¤ä¸ªéé¡¹åæ°æ¯æ¹åææè¡¨çé»è®¤ç¼ç åæåºè§åä»¥ä½¿ç¨ UTF-8 (utf8mb4) |
| -- | -- |
|---|---|
-v $HOME/MySQL_Data/data:/var/lib/mysql | å°å®¹å¨ä¸ç MySQL æ°æ®åºæ°æ®åå¨å°æ¬å°ï¼ä»¥ç¡®ä¿å¨å®¹å¨é坿¶æ°æ®å¾ä»¥ä¿çã |
-v $HOME/MySQL_Data/conf:/etc/mysql/conf.d | å°å®¹å¨ä¸ç MySQL èªå®ä¹é ç½®æä»¶è·¯å¾æ å°å°æ¬å°ï¼ä»¥æ¹ä¾¿èªå®ä¹é ç½®ãè¯·ç¡®ä¿æååå¤å¥½æä»¶ï¼å¦åå¯è½ä¼å¯å¨å¤±è´¥ã |
| -- | -- |
|---|---|
MYSQL_ROOT_PASSWORD ãå¿
å¡«ã | å¿
éçåéï¼ç¨äºæå® MySQL ç root è¶
çº§ç¨æ·å¸æ·çå¯ç ãå¦æè®¾ç½®äº MYSQL_RANDOM_ROOT_PASSWORD=yes ï¼åä¼éæºçæä¸ä¸ªå¯ç ï¼å¹¶æå°å° stdoutã |
MYSQL_USER ãå¯éã | å¯éåéï¼ç¨äºå建æ°ç¨æ·ãæ¤ç¨æ·å°è¢«æäºæå®æ°æ®åºçè¶
çº§ç¨æ·æéãéè¦åæ¶è®¾ç½® MYSQL_PASSWORD åéã |
MYSQL_PASSWORD ãå¯éã | å¯éåéï¼ç¨äºå建æ°ç¨æ·å¹¶è®¾ç½®å¯ç ãæ¤ç¨æ·å°è¢«æäºæå®æ°æ®åºçè¶
çº§ç¨æ·æéãéè¦åæ¶è®¾ç½® MYSQL_USER åéã |
MYSQL_DATABASE ãå¯éã | å¯éåéï¼å
许å¨å®¹å¨å¯å¨æ¶æå®è¦åå»ºçæ°æ®åºçåç§°ãå¦æè®¾ç½®äº MYSQL_USER å MYSQL_PASSWORDï¼åè¯¥ç¨æ·å°è¢«æäºå¯¹æ¤æ°æ®åºçè¶
çº§ç¨æ·è®¿é®æéã |
docker run -d -it -p 1521:1521 --name Oracle_11g --restart=always \
--mount source=oracle_vol,target=/home/oracle/app/oracle/oradata \
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
注æï¼registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g æ¯é宿¹æè®¤è¯çDockeréåï¼
| -- | -- |
|---|---|
-d | 表示以åå°è¿è¡çæ¹å¼å¯å¨å®¹å¨ |
-it | åå«è¡¨ç¤ºåé ä¸ä¸ªä¼ªç»ç«¯ï¼pseudo-TTYï¼å¹¶ä¿æ STDIN æå¼ |
-p 1521:1521 | å°ä¸»æºçç«¯å£æ å°å°å®¹å¨ç端å£ï¼è¿éæ¯å°ä¸»æºç 1521 ç«¯å£æ å°å°å®¹å¨ç 1521 端å£ï¼ç¨äºè®¿é® Oracle æ°æ®åº |
--name Oracle_11g | ä¸ºå®¹å¨æå®ä¸ä¸ªåç§°ï¼è¿éæ¯ "Oracle_11g" |
--restart=always | 表示å½å®¹å¨éåºæ¶ï¼æ»æ¯éæ°å¯å¨å®¹å¨ |
| -- | -- |
|---|---|
--mount source=oracle_vol,target=/home/oracle/app/oracle/oradata | å°å为 "oracle_vol" ç Docker å·æè½½å°å®¹å¨ä¸ç "/home/oracle/app/oracle/oradata" è·¯å¾ãè¿æ ·åçç®çæ¯å° Oracle æ°æ®åºçæ°æ®åå¨å¨æä¹ åçå·ä¸ï¼ä»¥ä¾¿æ°æ®å¨å®¹å¨é坿¶å¾ä»¥ä¿ç |
docker run -d -p 5432:5432 --restart=always --name PostgreSQL \
-e POSTGRES_USER='postgres' \
-e POSTGRES_PASSWORD='abc$123' \
-e POSTGRES_DB='test' \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-v $HOME/Postgres_Data:/var/lib/postgresql/data \
-d postgres
| -- | -- |
|---|---|
-d | 表示以åå°è¿è¡çæ¹å¼å¯å¨å®¹å¨ |
-it | åå«è¡¨ç¤ºåé ä¸ä¸ªä¼ªç»ç«¯ï¼pseudo-TTYï¼å¹¶ä¿æ STDIN æå¼ |
-p 5432:5432 | å°ä¸»æºçç«¯å£æ å°å°å®¹å¨ç端å£ï¼è¿éæ¯å°ä¸»æºç 5432 ç«¯å£æ å°å°å®¹å¨ç 5432 端å£ï¼ç¨äºè®¿é® Postgre æ°æ®åº |
--name PostgreSQL | ä¸ºå®¹å¨æå®ä¸ä¸ªåç§°ï¼è¿éæ¯ "PostgreSQL" |
--restart=always | 表示å½å®¹å¨éåºæ¶ï¼æ»æ¯éæ°å¯å¨å®¹å¨ |
| -- | -- |
|---|---|
-v $HOME/Postgres_Data:/var/lib/postgresql/data | å°å°å®¹å¨ä¸ç "/var/lib/postgresql/data" è·¯å¾æ å°æè½½å° å®¿ä¸»æºä¸ç â$HOME/Postgres_Dataâç®å½ä¸,è¿æ ·åçç®çæ¯å° Postgre æ°æ®åºçæ°æ®åå¨å¨æ¬å°ä¸ï¼ä»¥ä¾¿æ°æ®å¨å®¹å¨é坿¶å¾ä»¥ä¿ç |
| -- | -- |
|---|---|
POSTGRES_PASSWORD ãå¿
å¡«ã | PostgreSQL æ åæéçç¯å¢åéã设置 PostgreSQL è¶ çº§ç¨æ·çå¯ç ãä¸è½ä¸ºç©ºææªå®ä¹ã |
POSTGRES_USER ãå¯éã | å¯éç¯å¢åéï¼ç¨äºåå»ºç¨æ·åå ¶å¯ç ãåå»ºå ·æè¶ çº§ç¨æ·æéçæå®ç¨æ·åååçæ°æ®åºãé»è®¤ç¨æ·æ¯ "postgres"ã |
POSTGRES_DB ãå¯éã | å¯éç¯å¢åéï¼ç¨äºå®ä¹é¦æ¬¡å¯å¨æ åæ¶å建çé»è®¤æ°æ®åºçåç§°ãé»è®¤å¼æ¯ POSTGRES_USER çå¼ï¼å¦ææªè®¾ç½®ï¼åé»è®¤ä¸º "postgres"ã |
PGDATA ãå¯éã | é»è®¤ä¸º /var/lib/postgresql/dataãå¦æä½¿ç¨çæ°æ®å·æ¯æä»¶ç³»ç»æè½½ç¹ææ æ³è¢«ç¨æ· chowned çè¿ç¨æä»¶å¤¹ï¼åéè¦è®¾ç½®æ¤ç¯å¢åé以å
嫿°æ®ã |
docker run -d -p 5236:5236 --restart=always --name DaMengDB \
--privileged=true \
-e PAGE_SIZE=16 \
-e LD_LIBRARY_PATH=/opt/dmdbms/bin \
-e EXTENT_SIZE=32 \
-e BLANK_PAD_MODE=1 \
-e LOG_SIZE=1024 \
-e UNICODE_FLAG=1 \
-e LENGTH_IN_CHAR=1 \
-e INSTANCE_NAME=dm8_test \
-v $HOME/DaMeng_Data:/opt/dmdbms/data \
if010/dameng
注æï¼if010/dameng æ¯ä»å®ç½ä¸è½½ä¸ä¼ è³ Docker Hub çéåï¼
| -- | -- |
|---|---|
-d | 表示以åå°è¿è¡çæ¹å¼å¯å¨å®¹å¨ |
-it | åå«è¡¨ç¤ºåé ä¸ä¸ªä¼ªç»ç«¯ï¼pseudo-TTYï¼å¹¶ä¿æ STDIN æå¼ |
-p 5236:5236 | å°ä¸»æºçç«¯å£æ å°å°å®¹å¨ç端å£ï¼è¿éæ¯å°ä¸»æºç 5236 ç«¯å£æ å°å°å®¹å¨ç 5236 端å£ï¼ç¨äºè®¿é®è¾¾æ¢¦æ°æ®åº |
--name DaMengDB | ä¸ºå®¹å¨æå®ä¸ä¸ªåç§°ï¼è¿éæ¯ "DaMengDB" |
--restart=always | 表示å½å®¹å¨éåºæ¶ï¼æ»æ¯éæ°å¯å¨å®¹å¨ |
| -- | -- |
|---|---|
-v $HOME/DaMeng_Data:/opt/dmdbms/data | å°å®¹å¨ä¸çè¾¾æ¢¦æ°æ®åºæ°æ®åå¨è·¯å¾ "/opt/dmdbms/data" æ å°å°æ¬å°ä¸»æºç "$HOME/DaMeng_Data" ç®å½ï¼ä»¥ç¡®ä¿å¨å®¹å¨é坿¶æ°æ®å¾ä»¥ä¿ç |
docker run -idt -p 54321:54321 --restart=always \
--name Kingbase --privileged=true \
-e DB_MODE=oracle \
-e NEED_START=yes \
-e DB_USER=kingbase \
-e DB_PASSWORD=abc123 \
-e ENABLE_CI=yes \
-v $HOME/Kingbase_Data:/home/kingbase/userdata \
if010/kingbase:v009r001c001b0025 /usr/sbin/init
注æï¼if010/kingbase:v009r001c001b0025 æ¯ä»å®ç½ä¸è½½ä¸ä¼ è³ Docker Hub çéåï¼å®ç½æä¾äºä¸¤ä¸ªä¸è½½çæ¬ï¼ä¸ä¸ªæ¯ v008r006c008b0014ï¼å¦ä¸ä¸ªæ¯ v009r001c001b0025ï¼å¯ä»¥æå对åºç tag éåè¿è¡æµè¯ä½¿ç¨ï¼
| -- | -- |
|---|---|
-itd | 以åå°æ¹å¼å¯å¨å®¹å¨ï¼ä¿æ STDIN æå¼ |
-p 54321:54321 | å°ä¸»æºç 54321 ç«¯å£æ å°å°å®¹å¨ç 54321 端å£ï¼è®¿é®æ°æ®åº |
--name Kingbase | ç»å®¹å¨æå®å称为 "Kingbase" |
--restart=always | 容å¨éåºæ¶ï¼æ»æ¯éæ°å¯å¨å®¹å¨ |
| -- | -- |
|---|---|
-v $HOME/Kingbase_Data:/home/kingbase/userdata | å°å®¹å¨ä¸ç人大é仿°æ®åºæ°æ®åå¨è·¯å¾ "/home/kingbase/userdata" æ å°å°æ¬å°ä¸»æºç "$HOME/Kingbase_Data" ç®å½ï¼ä»¥ç¡®ä¿å¨å®¹å¨é坿¶æ°æ®å¾ä»¥ä¿ç |
| -- | -- |
|---|---|
DB_USER ãå¯éã | è®¾ç½®ç¨æ·åå ¶å¯ç ï¼é»è®¤ä¸º "system" |
DB_PASSWORD ãå¯éã | è®¾ç½®ç¨æ·å¯ç ï¼é»è®¤ä¸º "123456" |
DB_MODE ãå¯éã | è®¾ç½®æ°æ®åºæ¨¡å¼ï¼æ¯æçæ¨¡å¼æ oracleãpgãmysql |
NEED_START ãå¯éã | 设置è¿å ¥å®¹å¨åæ¯å¦å¯å¨æ°æ®åºï¼é»è®¤ä¸º "yes" |
ENABLE_CI ãå¯éã | 设置æ¯å¦éè¦é 置大å°åææï¼é»è®¤ä¸º "yes" |
docker run -d -p 6379:6379 --restart=always --name Redis \
-v $HOME/Redis_Data/conf:/usr/local/etc/redis \
-v $HOME/Redis_Data/data:/data \
redis redis-server /usr/local/etc/redis/redis.conf
| -- | -- |
|---|---|
-d | 表示以åå°è¿è¡çæ¹å¼å¯å¨å®¹å¨ |
-it | åå«è¡¨ç¤ºåé ä¸ä¸ªä¼ªç»ç«¯ï¼pseudo-TTYï¼å¹¶ä¿æ STDIN æå¼ |
-p 6379:6379 | å°ä¸»æºçç«¯å£æ å°å°å®¹å¨ç端å£ï¼è¿éæ¯å°ä¸»æºç 6379 ç«¯å£æ å°å°å®¹å¨ç 6379 端å£ï¼ç¨äºè®¿é® Redis æ°æ®åº |
--name Redis | ä¸ºå®¹å¨æå®ä¸ä¸ªåç§°ï¼è¿éæ¯ "Redis" |
--restart=always | 表示å½å®¹å¨éåºæ¶ï¼æ»æ¯éæ°å¯å¨å®¹å¨ |
| -- | -- |
|---|---|
-v $HOME/Redis_Data/conf:/usr/local/etc/redis | (éæååå¤å¥½æä»¶ï¼å¦åå¯è½ä¼å¯å¨å¤±è´¥) å°å°å®¹å¨ä¸ç "/usr/local/etc/redis" è·¯å¾æ å°æè½½å° å®¿ä¸»æºä¸ç"$HOME/Redis_Data/conf"ç®å½ä¸,è¿æ ·ååçç®çæ¯å¯ä»¥èªå®ä¹Redisçé ç½®æä»¶ |
-v $HOME/Redis_Data/data:/data | å°å°å®¹å¨ä¸ç "/data" è·¯å¾æ å°æè½½å° å®¿ä¸»æºä¸ç"$HOME/Redis_Data/data"ç®å½ä¸,è¿æ ·åçç®çæ¯å° Redis æ°æ®åºçæ°æ®åå¨å¨æ¬å°ä¸ï¼ä»¥ä¾¿æ°æ®å¨å®¹å¨é坿¶å¾ä»¥ä¿ç |
| -- | -- |
|---|---|
redis-server /usr/local/etc/redis/redis.conf | 容å¨å 鍿§è¡è¯¥å½ä»¤æ¯ä¸ºäºæç §æä»¬èªå®ä¹çé ç½®æä»¶å¯å¨ï¼è¿ä¸ªä¸æ¯å¿ é¡»çï¼ï¼ï¼ |
docker run -d -p 11211:11211 --name Memcached \
--restart=always memcached memcached -m 64
-d: 以åå°æ¹å¼å¯å¨å®¹å¨ã-it: åé
ä¸ä¸ªä¼ªç»ç«¯ï¼pseudo-TTYï¼å¹¶ä¿æ STDIN æå¼ã-p 11211:11211: å°ä¸»æºç 11211 ç«¯å£æ å°å°å®¹å¨ç 11211 端å£ï¼ç¨äºè®¿é® Memcached æ¶æ¯éåç web 管ççé¢ã--name Memcached: 容å¨çå称为 "Memcached"ã--restart=always: 容å¨éåºæ¶ï¼æ»æ¯éæ°å¯å¨å®¹å¨ãmemcached -m 64 è¿ä¼å° Memcached æå¡å¨è®¾ç½®ä¸ºä½¿ç¨ 64 MB è¿è¡åå¨docker run -d -p 27017:27017 --restart=always --name MongoDB \
-e MONGO_INITDB_ROOT_USERNAME=mongoadmin \
-e MONGO_INITDB_ROOT_PASSWORD=abc123 \
-v $HOME/MongoDB_Data/data:/data/db \
-v $HOME/MongoDB_Data/conf:/etc/mongo \
mongo --config /etc/mongo/mongod.conf --wiredTigerCacheSizeGB 1.5
| -- | -- |
|---|---|
-d | 表示以åå°è¿è¡çæ¹å¼å¯å¨å®¹å¨ |
-it | åå«è¡¨ç¤ºåé ä¸ä¸ªä¼ªç»ç«¯ï¼pseudo-TTYï¼å¹¶ä¿æ STDIN æå¼ |
-p 27017:27017 | å°ä¸»æºçç«¯å£æ å°å°å®¹å¨ç端å£ï¼è¿éæ¯å°ä¸»æºç 27017 ç«¯å£æ å°å°å®¹å¨ç 27017 端å£ï¼ç¨äºè®¿é® MongoDB æ°æ®åº |
--name MongoDB | ä¸ºå®¹å¨æå®ä¸ä¸ªåç§°ï¼è¿éæ¯ "MongoDB" |
--restart=always | 表示å½å®¹å¨éåºæ¶ï¼æ»æ¯éæ°å¯å¨å®¹å¨ |
--config /etc/mongo/mongod.conf | æå®é ç½®æä»¶è·¯å¾ (è¿ä¸ªä¸æ¯å¿ é¡»çï¼è®¾ç½®æ¤é项ä¹åéåå¤å¥½mongod.confæä»¶æ å°å°Dockerå é¨) |
--wiredTigerCacheSizeGB 1.5 | 设置WiredTigerç¼å大å°éå¶ä¸º1.5G |
| -- | -- |
|---|---|
-v $HOME/MongoDB_Data/conf:/etc/mongo | å°å°å®¹å¨ä¸ç "/etc/mongo" è·¯å¾æ å°æè½½å° å®¿ä¸»æºä¸ç"$HOME/MongoDB_Data/conf"ç®å½ä¸,è¿æ ·ååçç®çæ¯å¯ä»¥èªå®ä¹MongoDBçé ç½®æä»¶ (éæååå¤å¥½æä»¶ï¼å¦åå¯è½ä¼å¯å¨å¤±è´¥) |
-v $HOME/Redis_Data/data:/data | å°å°å®¹å¨ä¸ç "/data/db" è·¯å¾æ å°æè½½å° å®¿ä¸»æºä¸ç"$HOME/MongoDB_Data/data"ç®å½ä¸,è¿æ ·åçç®çæ¯å° MongoDB æ°æ®åºçæ°æ®åå¨å¨æ¬å°ä¸ï¼ä»¥ä¾¿æ°æ®å¨å®¹å¨é坿¶å¾ä»¥ä¿ç |
| -- | -- |
|---|---|
MONGO_INITDB_ROOT_USERNAME ãå¯éã | 该å鿝å建管çåç¨æ·ï¼è¯¥ç¨æ·æ¯å¨ admin 身份éªè¯æ°æ®åºä¸å建çï¼å¹¶è¢«èµäºè§è² rootï¼è¿æ¯ä¸ä¸ª"è¶ çº§ç¨æ·"è§è²ã |
MONGO_INITDB_ROOT_PASSWORD ãå¯éã | 该åéæ¯ä¸ºå建管çåç¨æ·è®¾ç½®å¯ç ï¼éé
å MONGO_INITDB_ROOT_USERNAME åéåæ°ä½¿ç¨ |
docker run -itd -p 15672:15672 --name RabbitMQ \
--hostname rmq-test \
-e RABBITMQ_DEFAULT_VHOST=rmq-test \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=abc123 \
rabbitmq:3-management
| -- | -- |
|---|---|
-itd | 表示以åå°è¿è¡çæ¹å¼å¯å¨å®¹å¨,å¹¶åé ä¸ä¸ªä¼ªç»ç«¯ï¼pseudo-TTYï¼åä¿æ STDIN æå¼ |
-p 15672:15672 | å°ä¸»æºçç«¯å£æ å°å°å®¹å¨ç端å£ï¼è¿éæ¯å°ä¸»æºç 15672 ç«¯å£æ å°å°å®¹å¨ç 15672 端å£ï¼ç¨äºè®¿é® RabbitMQ æ§å¶å°é¡µé¢ï¼å é¨é¤äºè¯¥ç«¯å£å¤ï¼è¿å¼äº4369/tcpã5671-5672/tcpã15671/tcpã15691-15692/tcpã25672/tcp |
--name RabbitMQ | ä¸ºå®¹å¨æå®ä¸ä¸ªåç§°ï¼è¿éæ¯ "RabbitMQ" |
--restart=always | 表示å½å®¹å¨éåºæ¶ï¼æ»æ¯éæ°å¯å¨å®¹å¨ |
--hostname | 设置容å¨ä¸»æºåç§° |
| -- | -- |
|---|---|
RABBITMQ_DEFAULT_VHOST ãå¯éã | 该å鿝å¯éçï¼æ¯è®¾ç½® RabbitMQ ç主æºåç§° |
RABBITMQ_DEFAULT_USER ãå¯éã | 该å鿝å¯éçï¼æ¯è®¾ç½® RabbitMQ çè´¦æ· |
RABBITMQ_DEFAULT_PASS ãå¯éã | 该å鿝å¯éçï¼æ¯è®¾ç½® RabbitMQ çå¯ç |
docker run -d -p 4822:4822 --privileged=true \
--restart=always --name Guacd \
-e LANG=zh_CN.UTF-8 \
-v /docker_data/Guacd/rdp-rec:/rdp-rec \
-v /docker_data/Guacd/rdp-file:/rdp-file \
guacamole/guacd
| -- | -- |
|---|---|
-d | 表示以åå°è¿è¡çæ¹å¼å¯å¨å®¹å¨ |
-it | åå«è¡¨ç¤ºåé ä¸ä¸ªä¼ªç»ç«¯ï¼pseudo-TTYï¼å¹¶ä¿æ STDIN æå¼ |
-p 4822:4822 | å°ä¸»æºçç«¯å£æ å°å°å®¹å¨ç端å£ï¼è¿éæ¯å°ä¸»æºç 4822 ç«¯å£æ å°å°å®¹å¨ç 4822 端å£ï¼ç¨äºè®¿é® Guacdè¿ç¨çAPIæ¥å£ |
--name Guacd | ä¸ºå®¹å¨æå®ä¸ä¸ªåç§°ï¼è¿éæ¯ "Guacd" |
--restart=always | 表示å½å®¹å¨éåºæ¶ï¼æ»æ¯éæ°å¯å¨å®¹å¨ |
--privileged=true | è¥ä¸å åæ®µ--privileged=trueå¯è½ä¼æ¥æéé误 |
| -- | -- |
|---|---|
-v /docker_data/Guacd/rdp-rec:/rdp-rec | 代ç å åºå®é ç½®ï¼guacdæå¡rdpå½å±æä»¶åæ¾è·¯å¾ |
-v /docker_data/Guacd/rdp-file:/rdp-file | 代ç å åºå®é ç½®ï¼guacdæå¡rdpè¿ç¨ç£çæä»¶åæ¾è·¯ |
LANG 设置å符ç¼ç æ ¼å¼$ mkdir -p ~/.config
$ docker run -it --name code-server \
-p 127.0.0.1:8080:8080 \
-v "$HOME/.config/code-server:/home/coder/.config" \
-v "$PWD:/home/coder/project" \
-u "$(id -u):$(id -g)" \
-e "DOCKER_USER=$USER" \
codercom/code-server:latest
$ docker run --name my-dim \
-p 8000:8000/tcp \
-v $HOME/.config/dim:/opt/dim/config \
-v $HOME/dim/media:/media:ro \
-d ghcr.io/dusk-labs/dim:dev
$ docker run -d --name gitlab \
--hostname gitlab.example.com \
--publish 8443:443 --publish 8081:80 -p 2222:22 \
--restart always \
--volume $HOME/gitlab/config:/etc/gitlab \
--volume $HOME/gitlab/logs:/var/log/gitlab \
--volume $HOME/gitlab/data:/var/opt/gitlab \
-v /etc/localtime:/etc/localtime \
--shm-size 256m \
gitlab/gitlab-ce:latest