ubuntu 21安装docker
# 使用国内 daocloud 一键安装命令
curl -sSL https://get.daocloud.io/docker | sh
ubuntu 18.04安装docker
# 由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本
sudo apt-get remove docker docker-engine docker-ce docker.io
# 更新apt包索引
sudo apt-get update
# 安装以下包以使apt可以通过HTTPS使用存储库
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
# 添加Docker官方的GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 安装stable存储库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu artful stable"
# 再更新一下apt包索引
sudo apt-get update
# 安装最新版本的Docker CE
sudo apt-get install -y docker-ce
# 查看docker服务是否启动
systemctl status docker
# 若未启动,则启动docker服务
sudo systemctl start docker
docker-compose安装
# 下载
sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 赋予可执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 查看版本
docker-compose -v
docker升级
# 关闭docker
sudo systemctl stop docker
# 卸载旧版本:
sudo apt-get purge docker-ce
# 安装新版本
sudo apt update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-cache madison docker-ce
# 根据终端显示的版本选择一个
sudo apt install docker-ce=5:19.03.1~3-0~ubuntu-bionic
systemctl start docker
sudo systemctl start docker
sudo systemctl enable docker
sudo docker info
centos7安装docker
# 更新包
sudo yum update
# 卸载旧版本
sudo yum remove docker docker-common docker-selinux docker-engine
# 安装需要的软件包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 查看所有仓库中所有docker版本
yum list docker-ce --showduplicates | sort -r
# 安装docker
sudo yum install docker-ce
# sudo yum install <FQPN> 选择特定版本安装
# 启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
# 验证安装
docker version
添加docker权限给当前用户 可以不用sudo
# 添加 docker group 如果有可以不创建
sudo groupadd docker
# 将用户加入该 group 内
sudo gpasswd -a ${USER} docker
# 重启 docker 服务
sudo systemctl restart docker
# 切换当前会话到新 group
newgrp docker
docker配置镜像源
# 创建或修改/etc/docker/daemon.json文件
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
# 重启服务
systemctl restart docker.service
# 常见镜像源
https://registry.docker-cn.com # docekr中国
http://hub-mirror.c.163.com # 网易
https://docker.mirrors.ustc.edu.cn # 科大
https://cr.console.aliyun.com/ # 阿里
常用docker命令
# 查看帮助
docker --help
# 查看docker版本信息
docekr version
# 查看镜像
docker image ls
# 搜索镜像
docker search <image-name>
# 下载镜像
docker pull <image-name>
# 删除镜像
docker image rm <image-name>
# 查看容器
docker ps
# 查看所有容器
docker ps -a
# 删除容器
docker rm <name/id>
# 停止容器
docker stop <name/id>
# 启动容器
docker start <name/id>
# 重启容器
docker restart <name/id>
# 查看容器日志
docker logs <name/id>
# 复制文件到内部
docker cp [file-path] [container ID]:[file-path]
docker部署vue项目
vue项目打包
npm run build
- 项目根目录创建
nginx目录,该目录下新建配置文件default.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
access_log /var/log/nginx/host.access.log main;
error_log /var/log/nginx/error.log error;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
- 项目根目录创建
Dockerfile文件
# 基础镜像
FROM nginx
# 复制资源文件
COPY dist/ /usr/share/nginx/html/
# 复制nginx配置
COPY nginx/default.conf /etc/nginx/conf.d/default.conf
- 创建运行
docker
docker build -t vue-name .
docker run -p 3000:80 -d --name vue-name vue-name
docker部署jar
# 创建目录
mkdir demo
# 复制jar包
cp spring.jar ./
# 创建`Dockerfile`文件
FROM java:8
MAINTAINER bingo
ADD spring.jar demo.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","demo.jar"]
# 构建镜像
docker build -t demo .
# 运行容器
docker run -p 8080:8080 -d --name demo demo
docker运行qq wechat
项目地址: QQ[!github.com/bestwu/dock…] wechat[!github.com/bestwu/dock…]
docker pull bestwu/wechat
# –ipc=host 不加会出现闪退的情况
docker run -d --name wechat --device /dev/snd --ipc=host \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v $HOME/WeChatFiles:/WeChatFiles \
-e DISPLAY=unix$DISPLAY \
-e XMODIFIERS=@im=ibus \
-e QT_IM_MODULE=ibus \
-e GTK_IM_MODULE=ibus \
-e AUDIO_GID=`getent group audio | cut -d: -f3` \
-e GID=`id -g` \
-e UID=`id -u` \
bestwu/wechat
docker pull bestwu/qq
docker run -d --name qq \
--device /dev/snd --ipc=host \
-v $HOME/TencentFiles:/TencentFiles \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e XMODIFIERS=@im=ibus \
-e QT_IM_MODULE=ibus \
-e GTK_IM_MODULE=ibus \
-e DISPLAY=unix$DISPLAY \
-e AUDIO_GID=`getent group audio | cut -d: -f3` \
-e VIDEO_GID=`getent group video | cut -d: -f3` \
-e GID=`id -g` \
-e UID=`id -u` \
bestwu/qq:latest