MySQL
docker run -p 13306:3306 --name MySQL_One --restart=always -v /root/Docker_woker/blog_mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=passwd -d mysql:8.0.24
#-p 13306:3306 将容器的3306端口映射到主机的13306
#--name MySQL_One 容器昵称
#-v /root/Docker_woker/blog_mysql:/var/lib/mysql 数据持久化
#-e MYSQL_ROOT_PASSWORD=passwd 设置数据库密码
#-d 后台运行
#mysql:8.0.24 选择启动版本
#--restart=always 退出后自动启动
#进入容器命令行
docker exec -it some-mysql bash
#查看日志
docker logs some-mysql
#备份数据库
docker exec some-mysql sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /some/path/on/your/host/all-databases.sql
#从文件还原数据
docker exec -i some-mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /some/path/on/your/host/all-databases.sql
portainer (Docker Web后台)
docker run -d -p 39000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name prtainer portainer/portainer
#-d 后台运行
#--restart=always 退出后自动启动
#--name prtainer 容器昵称
#portainer/portainer 容器镜像
Python
#启动一个交互容器
docker run -p 8080:80 --name Blog -v /root/Docker_woker/DjangoBlog-master:/root -it python:3.8.10 /bin/bash
#-p 8080:80 映射容器的80端口到主机的8080
#--name Blog 容器昵称
#-v /root/Docker_woker/DjangoBlog-master:/root 将项目文件挂载到容器的/root
#-it 前台模式
#/bin/bash 启动bash命令行工具
#直接启动项目
docker run -it --rm --name mypython -v "$PWD":/usr/src/myapp -w /usr/src/myapp python:3.8.10 python app.py
#-w 切换初始路径
phpmyadmin(MySQL Web管理工具)
#链接容器启动
docker run --name myadmin -d --restart=always --link <容器名称>:db -p 8080:80 phpmyadmin
#-p 8080:80 映射容器的80端口到主机的8080端口
#-d 后台运行
#--link 链接容器
#--restart=always 容器自动启动
#链接MySQL服务器启动
docker run --name myadmin -d --restart=always -e PMA_HOST=172.17.0.3 -p 8080:80 phpmyadmin
#-p 8080:80 映射容器的80端口到主机的8080端口
#-d 后台运行
#--link 链接容器
#--restart=always 容器自动启动
#链接任意服务器
docker run --name myadmin --restart=always -d -e PMA_ARBITRARY=1 -p 8080:80 phpmyadmin
内网穿透服务
#服务端
docker run -d \
--name lanproxy-server \
-p 4980:8090 \
-p 4900:4900 \
-p 4999:4993 \
-p 4901-4979:4901-4979 \
--restart=always \
-e LANPROXY_USERNAME="mek" \
-e LANPROXY_PASSWORD="030399" \
franklin5/lanproxy-server
#4980 http管理端口
#4900 服务端口
#4999 ssl端口
#4901-4979 业务端口
#客户端
docker run -d \
--name lanproxy-client \
-e LANPROXY_KEY="input_your_key" \
-e LANPROXY_HOST="input_your_host" \
--restart=always \
franklin5/lanproxy-client
Redis
#数据持久化的redis
docker run --name redis --restart=always -p 6379:6379 -d redis redis-server --save 60 1 --loglevel warning
#带数据卷的redis
docker run --name redis --restart=always -p 6379:6379 -v redis:/data -d redis redis-server --save 60 1 --loglevel warning
netdata性能监控工具
docker run -d --name=netdata \
-p 19999:19999 \
--restart=always \
-v /proc:/host/proc:ro \
-v /sys:/host/sys:ro \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
--cap-add SYS_PTRACE \
--security-opt apparmor=unconfined \
netdata/netdata
导图软件
docker run -d --name draw -p 8280:8080 jgraph/drawio
SMB文件服务器
docker run -p 139:139 -p 445:445 -m 256m -v /root/storage:/mount -d dperson/samba -p \
-u "mek;030399" \
-s "storage;/mount;yes;no;yes;"
# -u 设置用户名和密码
-u "<username;password>[;ID;group;GID]" Add a user
required arg: "<username>;<passwd>"
<username> for user
<password> for user
[ID] for user
[group] for user
[GID] for group
# -s 显示路径;实际路径 权限配置
-s "<name;/path>[;browse;readonly;guest;users;admins;writelist;comment]"
Configure a share
required arg: "<name>;</path>"
<name> is how it's called for clients
<path> path to share
NOTE: for the default values, just leave blank
[browsable] default:'yes' or 'no'
[readonly] default:'yes' or 'no'
[guest] allowed default:'yes' or 'no'
NOTE: for user lists below, usernames are separated by ','
[users] allowed default:'all' or list of allowed users
[admins] allowed default:'none' or list of admin users
[writelist] list of users that can write to a RO share
[comment] description of share
数据词典
docker pull 251878350/database-dictionary:v4.4
docker run -itd -p 9998:9998 --name=database-dictionary 251878350/database-dictionary:v4.4
系统镜像
docker run -v .:/data -it centos:7.6.1810 /bin/bash