docker和docker-compose 常用命令docker 常用命令
docker的安装
安装储存设备映射包

yum install -y yum-utils device-mapper-persistent-data lvm2

添加docker软件镜像

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装dockerCE

yum install -y docker-ce

启动docker

systemctl start docker

自动启动docker

systemctl enable docker

清除docker镜像缓存 该命令清除:所有停止的容器
所有不被任何一个容器使用的网络
所有不被任何一个容器使用的volume
所有无实例的镜像

docker system prune --volumes

批量删除镜像的两种方式
//docker 删除none镜像

docker images  | grep none | awk '{print $3}' | xargs docker rmi

批量删除镜像

docker rmi $(docker images |grep backstageui |awk  '{print $3}')

docker 复制
docker 容器中与宿主机时间同步以及设置时区并重启(设置项目和mysql)

docker cp /usr/share/zoneinfo/Asia/Shanghai hidden:/etc/localtime

docker cp :用于容器与主机之间的数据拷贝。
1、从主机往容器中journal
eg:将主机/root/runoob目录拷贝到容器96f7f14e99ab的/root目录下。

docker cp /root/runoob 96f7f14e99ab:/root/

2、将容器中文件拷往主机
eg:将容器96f7f14e99ab的/root目录拷贝到主机的/tmp目录中。

docker cp  96f7f14e99ab:/root /tmp/

检查时间是否一致docker exec -it CONTAINER ID date

搭建私有仓库

docker pull registry
docker run --detach --publish 5000:5000 --name registry-container --restart=always --hostname registry registry

或者

docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry

注释 -v 指定数据持久化 --restart 代表当容器宕机后不断重启,保证服务不中段

cat /etc/docker/daemon.json
{
  "registry-mirror": [
    "https://registry.docker-cn.com"
  ],
  "insecure-registries": [
    "192.168.111.11:5000"
  ]
}
systemctl restart docker

portainer dockerui的管理界面

docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name prtainer-test portainer/portainer

汉化的需要下载文件

https://dl.quchao.net/Soft/Portainer-CN.zip
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data -v /root/public:/public portainer/portainer

参数说明:
-d:容器在后台运行;
-p 9000:9000 :宿主机9000端口映射容器中的9000端口
–restart 标志会检查容器的退出代码,并据此来决定是否要重启容器,默认是不会重启。
–restart=always:自动重启该容器
-v /var/run/docker.sock:/var/run/docker.sock :把宿主机的Docker守护进程(Docker daemon)默认监听的Unix域套接字挂载到容器中
-v portainer_data:/data 把宿主机portainer_data数据卷挂载到容器/data目录-v /public:/public:把宿主机汉化包挂载到容器内
–name prtainer : 给容器起名为portainer
查看私有仓库的镜像

curl -XGET http://192.168.111.60:5000/v2/_catalog

docker-compose 常用

curl -L https://github.com/docker/compose/releases/download/1.26.0/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose
docker-compose --version
--insecure-registry=http://192.168.111.60
docker-compose -h                           # 查看帮助
docker-compose up                           # 创建并运行所有容器
docker-compose up -d                        # 创建并后台运行所有容器
docker-compose -f docker-compose.yml up -d  # 指定模板
docker-compose down                         # 停止并删除容器、网络、卷、镜像。
docker-compose logs       # 查看容器输出日志
docker-compose pull       # 拉取依赖镜像
dokcer-compose config     # 检查配置
dokcer-compose config -q  # 检查配置,有问题才有输出
docker-compose restart   # 重启服务
docker-compose start     # 启动服务
docker-compose stop      # 停止服务
docker-compose unpause [SERVICE...]恢复处于暂停状态中的服务。
docker-compose up --no-recreate这样将只会启动处于停止状态的容器,而忽略已经运行的服务。

docker-compose up --no-deps -d <SERVICE_NAME> 来重新创建服务并后台停止旧服务,启动新服务,并不会影响到其所依赖的服务。
	* 
-d 在后台运行服务容器。
	* 
--no-color 不使用颜色来区分不同的服务的控制台输出。
	* 
--no-deps 不启动服务所链接的容器。
	* 
--force-recreate 强制重新创建容器,不能与--no-recreate同时使用。 --no-recreate如果容器已经存在了,则不重新创建,不能与 --force-recreate同时使用。 --no-build不自动构建缺失的服务镜像。
	* 
-t, --timeout TIMEOUT 停止容器时候的超时(默认为 10 秒)。

docker-compose build

1、不自定义镜像名称

version: "3.9"services:
  webapp:
    build:
      context: ./dir
      dockerfile: Dockerfile
      args:
        buildno: 1

2、自定义镜像名称

version: "3.9"
services:
  webapp:
    build: ./dir
    image: webapp:tag

问题1
unknown flag: --iidfile
docker-compose的版本太高 降低版本就好了

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐