官网安装指南 https://docs.docker.com/engine/install/centos/
添加安装工具包
yum install -y yum-utils使用官方镜像
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo如果境外下载速度受限,可以添加阿里云镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo检测最快安装源
yum makecache fast执行安装
yum install docker-ce或者
service docker start查看docker版本信息
docker version开通服务后,在命令行直接复制黏贴下段命令 ,其中registry-mirrors为阿里云提供的代理地址
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker拉取镜像
docker pull tomcat运行
docker run -d --name web-server tomcat其中-d代表后台运行,–name为当前容器制定名称
交互模式运行 以名称为os的容器为例
docker run -d --name os -it centos /bin/bash-it参数代表以交互模式运行容器,并启动bash
进入指定容器的交互模式
docker exec -it 容器ID /bin/bash其他命令 查看所有镜像
docker images查看运行中的容器
docker ps移除容器
docker rm -f 容器ID通过容器名单向通信 tomcat -> database单项连通
docker run -d --name web-server --link database tomcat基于网桥的双向通信
创建网桥(例:net-bridge)
docker network create -d bridge net-bridge将指定容器(例:web-server和database)连接到网桥(例:net-bridge)
docker network connect net-bridge web-server docker network connect net-bridge database以/usr/resources下的资源为例,创建共享挂载。
docker create --name shareresource -v /usr/resources:/usr/local/tomcat/webapps/resources tomcat /bin/true启动tomcat,加载挂载
docker run -p 8001:8080 --volumes-from shareresource --name web-server1 -d tomcat docker run -p 8002:8080 --volumes-from shareresource --name web-server2 -d tomcat以本地可运行的web.jar程序和init-db.sql脚本为例
创建web应用的Dockerfile,其中的名字和版本都是示例
vi Dockerfile FROM openjdk:8u222-jre WORKDIR /usr/local/web ADD web.jar . ADD Application.yml . EXPOSE 80 CMD ["java","-jar","web.jar"] :wq编译镜像
docker build -t web .创建数据库的Dockerfile,其中的名字和版本都是示例
vi Dockerfile FROM mysql:5.7 WORKDIR /docker-entrypoint-initdb.d ADD init-db.sql . :wq/docker-entrypoint-initdb.d为Mysql官方定义的初始化脚本加载目录
Mysql容器启动时,需要指定root用户的密码
docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose更改文件访问权限
sudo chmod +x /usr/local/bin/docker-compose以部署一个web应用和一个数据库应用为例。
首先,切换到工作目录下,创建docker-compose.yml
vi docker-compose.yml version:'1.0' services: db: build: ./db/ restart: always environment: MYSQL_ROOT_PASSWORD: my-secret-pw web: build: ./web/ depends_on: - db ports: - '80:8080' restart: always :wq启动容器
docker-compose up -d停止容器
docker-compose down查看容器日志信息
docker-compose logs db docker-compose logs web