一、docker命令
1. docker image 操作命令
- 查看系统所有image
sudo docker image ls (or) docker images
- 安装 ubuntu 14.04 image
sudo docker pull ubuntu:14.04
安装bitnami的wordpress imagesudo docker pull bitnami/wordpress
- 删除image
docker image rm [image ID] (or) docker rmi [image ID]
2. Dockerfile 编译
- 将Dockerfile 编译成 image
docker image build (or) docker build
- 在当前目录编译Dockerfile
docker build -t xiaopeng163/hello-world .
docker build --no-cache --rm --tag ${IMAGE_URI} -f Dockerfile .
- 查看image生成过程
docker history [image_ID]
3. 容器管理
- docker运行image
docker run xiaopeng163/hello-world
交互式运行ubuntu container -docker run -it ubuntu
- 表示进入containe的 shell中
docker run -it [image] /bin/bash
- 后台运行
docker run -d [image]
- 指定容器名字
docker run -d --name=demo laosuaidami/flask-hello-world
- 表示进入containe的 shell中
- 当前本地正在运行的程序
docker container ls
- 所有的容器,包括正在运行的,和已经退出的
docker container ls -a or docker ps -a
- 删除容器,包括正在运行的,和已经退出的
docker container rm [container_ID] (or) docker rm [container_ID]
docker container ls -aq (or) docker container ls -a|awk{'print$1'}
- 删除所有container
docker rm $(docker container ls -aq)
- 删除已经结束的container
docker rm $(docker container ls -f 'status=exited' -q)
- 修改container后变成新的image
docker container commit (or) docker commit
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
eg:docker commit quirky_chatelet hewei/centos-vim-f
- 进入正在运行的container中
docker exec -it [container id] [要执行的命令]
docker exec -it 05554595249d /bin/bash
docker exec -it 05554595249d python
docker exec -it 05554595249d ip a
打印运行的容器IP地址
- 停止容器
docker stop/start [container id (or) container name]
- 查看容器信息
docker inspect [container id (or) container name]
- 查看容器日志
docker logs [container id (or) container name]
- 查看安装logs
sudo docker logs mysql1
- 查看volume
sudo docker volume ls
- 删除volume
sudo docker volume rm [volume ID]
- 设置镜像标签
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
docker tag 6de222aa7640 xhy/centos7:v3 - 导出镜像
docker save -o centos-7.tar centos:7
- 导入镜像
docker load -i centos-7.tar
- 镜像管理
https://www.lagou.com/lgeduarticle/26246.html
https://www.moha.online/en/tutorial/docker/concise-user-guide
4. 查看官方命令文档
https://docs.docker.com/engine/reference/commandline/container/
5. docker hub 操作
1 登录退出docker hub docker login / docker logout
docker login 输入账号,密码
2. 将docker推送到docker hub docker push laosuaidami/hello-world:latest
3. 通过docker registry 搭建本地docker hub : https://hub.docker.com/_/registry
-
测试docker registry 是否搭建OK:
telnet [ ip ] [ port ]
yum install -y telnet
-
新建image 注意tag
docker build -t 192.168.10.159:5000/hello-world:latest
-
添加对本地docker registry 的信任 :
vi /etc/docker/daemon.json
加入以下内容{ "insecure-registries":["192.168.10.159:5000"] }
-
vi /lib/systemd/system/docker.service
添加一行EnvironmentFile=-/etc/docker/daemon.json
如下所示[Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com BindsTo=containerd.service After=network-online.target firewalld.service containerd.service Wants=network-online.target Requires=docker.socket [Service] Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock EnvironmentFile&