返回文章列表
Docker常见命令
DevOps
-
docker官网
-
docker概念
-
image:镜像
-
container:容器,镜像的运行实例
-
repository:仓库,保存镜像的地方
docker 安装
## mac
brew install --cask --appdir=/Applications docker
## centos
sudo yum update
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
sudo docker --version
docker 常见镜像
# alpine
docker run -itd alpine /bin/sh
# memcached
docker run -d -p 11211:11211 memcached
docker 常用命令
# pull
docker pull image-name
# images
docker images
docker rmi image-id
docker build -t image-name:tag .
# container
docker run -d -p host-port:container-port image-name
docker ps -a
docker rm -f container-id
docker logs container-id
docker exec -it container-id /bin/bash
# container run cpu memory
docker run -d -p host-port:container-port --cpus="2" --memory="200m" --restart="always" --name="container-name" image-name
docker inspect --format='{{.HostConfig.NanoCpus}}' <container_id_or_name>
docker inspect --format='{{.HostConfig.Memory}}' <container_id_or_name>
docker run
## 普通
docker run ubuntu:15.10 /bin/echo "Hello world"
## 交互
docker run -i -t ubuntu:15.10 /bin/bash
## 后台
docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
## name
docker run -itd --name ubuntu-test ubuntu /bin/bash
docker 容器
## 查看正在运行的容器
docker ps
## 查看所有容器,包括目前没运行的容器
docker ps -a
## 停止正在运行的容器
docker stop id
## 重启容器
docker restart id
## 删除容器
docker rm -f 1e560fca3906
## 查看容器内的日志
docker logs id
## 进入容器
docker exec -it 243c32535da7 /bin/bash
## 导出容器
docker export 1e560fca3906 > ubuntu.tar
## 导入容器
docker import - test/ubuntu:v1
## 查看容器进程
docker top id
docker 镜像
## 列出镜像
docker images
## 拉取镜像
docker pull ubuntu
## 查找镜像
docker search httpd
## 删除镜像
docker rmi hello-world
## 更新镜像
docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2
## 构建镜像
### dockerfile
#### 每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。
#### 第一条FROM,指定使用哪个镜像源
#### RUN 指令告诉docker 在镜像内执行命令,安装了什么。。。
#### 然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。
FROM centos:6.7
MAINTAINER Fisher "fisher@sudops.com"
RUN /bin/echo 'root:123456' |chpasswd
RUN useradd runoob
RUN /bin/echo 'runoob:123456' |chpasswd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE 22
EXPOSE 80
CMD /usr/sbin/sshd -D
### build
docker build -t runoob/centos:6.7 .
## 给镜像打tag
docker tag 860c279d2fec runoob/centos:dev