docker基础入门

常识

Docker官网
Docker CE:社区免费版, DOcker EE:企业收费版

CentOS 安装docker

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加软件源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 添加软国内软件源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 官网推荐
# 更新并安装Docker-CE
sudo yum install docker-ce docker-ce-cli containerd.io

# 开启Docker服务
sudo service docker start

# 删除docker
sudo yum remove docker-ce
sudo rm -rf /var/lib/docker
# 删除旧版本docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

# 查看版本信息
docker --version

docker image

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 查看安装镜像
docker image ls # docker images

# 拉取镜像
docker pull <image>

# 运行容器
docker run -p <主机端口>:<容器端口> -v 本地路径:容器路径 -d(后台运行) 【image:tag】

# 查看运行日志
docker logs <>

# 查看运行容器
docker ps

# 构建image
docker build -t <nginx:tag> .

# 移除image(需先移除container)
docker rmi <image>

# 重启
docker start 容器id

docker container

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 查看container
docker container ls
# 查看container详情
docker inspect <container-id>

# 重启
docker container restart <container-id>

# 进入容器内部
docker exec -it <id> sh

# 停止container
docker container stop <container-id>
docker container kill <container-id> #强制

# 删除container
docker container stop <container-id>
docker rm <container-id>

# 或者直接如输入: docker rm -f <container-id>

# 查看所占内存
docker stats

推送dockerhub

1
2
3
4
5
6
# 登陆
docker login
# 修改成对应远程仓库名称
docker tag <image-id> username/repository:tag
# 推送
docker push username/repository:tag

迁移镜像

1
2
docker save alpine | gzip > alpine-latest.tar.gz
docker load -i alpine-latest.tar.gz

docker服务部署(推荐生产环境)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 创建服务
docker swarm init

# 创建应用
docker stack deploy -c docker-stack.yml <应用名>

# 列出与应用关联的服务
docker stack services <appname>

# 查看容器列表
docker stack ps <应用名字>

# 停止应用
docker stack rm <应用名字>

# 删除服务
docker swarm leave --force

更多…

官网