侧边栏壁纸
  • 累计撰写 98 篇文章
  • 累计创建 45 个标签
  • 累计收到 5 条评论

目 录CONTENT

文章目录

Docker 使用笔记问题答疑及 WSL2 相关

勤为径苦作舟
2023-09-29 / 0 评论 / 0 点赞 / 78 阅读 / 0 字

镜像源换源加速

换源是修改/etc/docker/daemon.json中的registry-mirrors

{
  "registry-mirrors": [
    "https://hub.fast360.xyz",
    "https://image.cloudlayer.icu"
  ]
}

国内可用 Docker 镜像源汇总 - CoderJia

常用命令

# 查看容器
# -a:显示未运行容器
$ docker ps -a

# 删除容器
$ docker rm container_id

# 重命名容器
$ docker rename old_name new_name

# 查看镜像
$ docker images

# 删除镜像
$ docker rmi image_id

# 编译当前目录的 Dockerfile
$ docker build -t image_name .

# 运行容器
# -d:后台运行容器,返回容器 ID
$ docker run --name container_name \
    -p local_port:container_port -v local_path:container:path -d \
    image_name

自用镜像启动命令

  • MariaDBdocker run --detach --name mariadb -p 3307:3307 --env MARIADB_ROOT_PASSWORD=123 -v E:/duanluan/Docker/mariadb/data:/var/lib/mysql -v E:/duanluan/Docker/mariadb/conf:/etc/mysql/conf.d mariadb
  • PostgreSQLdocker run -d --restart=always --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=123 -e PGDATA=/var/lib/postgresql/data/pgdata -v E:/duanluan/Docker/postgres/data:/var/lib/postgresql/data postgres
  • oracle-xedocker run --name oracle-xe -d -p 1521:1521 -e ORACLE_PASSWORD=123 -v E:/duanluan/Docker/oracle/oradata:/opt/oracle/oradata gvenzl/oracle-xe
  • MongoDBdocker run -d --restart=always --name mongodb -v E:/duanluan/Docker/mongodb/data:/data/db -p 27017:27017 mongo --auth
    docker exec -it mongodb mongo admin
    mongo admin --eval "db.createUser({ user: 'admin', pwd: '123', roles: [{ role: 'root', db: 'admin' }]})"
    
  • Redisdocker run -d --restart=always --name redis -p 6379:6379 redis --requirepass 123
  • MinIOdocker run -d --restart=always --name minio -p 9000:9000 -p 9001:9001 -v E:/duanluan/Docker/minio/data:/data -e "MINIO_ROOT_USER=root" -e "MINIO_ROOT_PASSWORD=123" quay.io/minio/minio server /data --console-address ":9001"
  • SRSdocker run -d --name srs -p 1935:1935 -p 1985:1985 -p 11248:8080 ossrs/srs
  • Halodocker run -d --name halo -p 8090:8090 -v /root/.halo2:/root/.halo2:rw registry.fit2cloud.com/halo/halo:2.20 --spring.r2dbc.url=r2dbc:pool:mariadb://xxx:3307/xxx --spring.r2dbc.username=xxx --spring.r2dbc.password=123 --spring.sql.init.platform=mysql --halo.external-url=https://blog.zhjh.top/ --server.port=8090

容器开机启动

--restart 参数:

  • no:默认,容器退出时不重启容器
  • on-failure:容器非正常退出时重启容器
  • on-failure:n:容器非正常退出时重启容器,最多重启 n 次
  • always:总是重启容器
  • unless-stopped:退出时重启容器,但忽略 Docker 守护进程启动时停止的容器

创建时设置

docker run -d --restart=always ……

更新已有容器

docker update --restart=always 容器 ID/容器名

Watchtower 监控更新容器

文档:https://containrrr.dev/watchtower/

参数

命令示例

# 单次
$ docker run --rm \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower \
    -c --run-once \
    calibre-web

# 定期
$ docker run -d \
    --name watchtower \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower \
    -c \
    --schedule "0 0 12 * * 6" \
    calibre-web

导入 dmp 文件到 oracle 容器

# 复制文件至容器
docker cp C:\Users\duanluan\Desktop\xxx.dmp 52eabab26311:/home
# 进入容器
docker exec -it 52eabab26311 /bin/bash
# 导入
imp 用户名/密码 file=/home/xxx.dmp full=y ignore=y

启动异常

Docker Desktop Failed to set version to docker-desktop: exit code: -1

netsh winsock reset

WSL2 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。

https://blog.csdn.net/qq_21258589/article/details/137360850

WSL2 更新失败(退出代码: 1603)。错误代码: Wsl/CallMsi/Install/ERROR_INSTALL_FAILURE

https://blog.csdn.net/weixin_44358931/article/details/143952359

0

评论区