[C++项目组件] 后台服务器部署docker
一. docker简介和安装
docker简介
docker 是一个用 Go 语言实现的应用容器引擎开源项目,可以让开发者打包他们的应
用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,
也可以实现虚拟化。其广泛应用于开发、测试和生产环境中,帮助开发者和系统管理
员简化应用的部署和管理,实现快速的交付,测试和部署。
docker安装
1.安装docker依赖
sudo apt-get install ca-certificates curl gnupg lsb-release
2.配置加速地址
```bash
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://do.nark.eu.org","https://dc.j8.work","https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn"]
}
EOF
sudo systemctl daemon-reload
- 添加 Docker 官方 GPG 密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
- 添加 Docker 软件源
sudo add-apt-repository “deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release - cs) stable”
5.安装Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
- 安装 docker-compose
sudo curl -L “https://github.com/docker/compose/releases/download/v2.13.0/docker-compose-linux-x86_64” -o /usr/bin/docker-compose
sudo chmod +x /usr/bin/docker-compose
docker-compose --version
- 配置用户组
sudo groupadd docker
sudo gpasswd -a $USER docker
newgrp docker
- 测试-查看版本
docker version
docker常用指令
容器操作
查看
docker ps -a
docker container ls -a
-a 所有容器
-q 仅显示容器 ID
删除
docker rm container_id
docker container rm container_id
docker container rm $(docker container ls -a -q)
启动
docker run [options] [image:version]
# options:
# -d, --detach :运行容器于后台,并打印容器 ID
# -e, --env list : 设置运行环境变量 -e DB_USER=myuser
# -i, --interactive : 即使没有连接,也要保持 STDIN 打开
# -p, --publish list : 设置于宿主机端口映射 -p 3306:3306
# -t, --tty :申请终端
# -v, --volume list : 设置与宿主机文件挂载 -v ./data:/var/lib/mysql:rw
停止
docker container stop container_id
docker container stop $(docker container ls -a -q)
镜像操作
拉取
docker pull image_name:version
查看
docker images
docker image ls -a
创建
docker build [options] path
# options:
# -f, --file string :指定构建镜像的 dockerfile
# -t, --tag stringArray : 设置镜像名称与版本 -t myImage:version
删除
docker rmi image_id
docker image rm image_id
导入/导出
docker save -o myimage.tar myimage:latest
docker load -i myimage.tar
缓存及镜像清理
docker system df
docker system prune -a