1.安装docker
本系统为centOS7
卸载旧版本:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
设置存储库:
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https:
安装最新版本的 Docker 发动机和容器:
sudo yum install docker-ce docker-ce-cli containerd.io
启动docker:
systemctl start docker
查看docker状态:
systemctl status docker
运行官方docker demo
docker run hello-world
配置阿里云镜像加速器(解决docker官方仓库下载速度慢的问题,可略过)
登录阿里云控制台,搜索容器镜像服务,查看配置手册,获取加速器地址。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://emds0vep.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
查看docker信息:
docker info
2.命令记录
docker镜像操作:
docker images 查看所有镜像
docker images -q 查看所有镜像id
docker search nginx 查看docker hub所有的nginx镜像
docker pull nginx 拉取nginx的远程镜像
docker pull nginx:1.11 拉取nginx的远程1.11版本镜像
docker rmi nginx 删除nginx的本地镜像
docker rmi -f nginx 强制删除nginx的本地镜像
docker save imagename -o name.tar 将镜像打包成tar文件
docker load -i name.tar 从tar文件加载镜像
docker容器命令:
docker run -d -p 8080:80 --name mynginx nginx 启动nginx镜像,并容器80端口映射到外部8080端口
-p 端口映射 -d 后台运行 --name 映射名称 -v 宿主机路径:容器内路径 挂载运行,可以多个-v连用
docker start id 启动容器
docker ps 查看所有运行容器
docker ps -q 查看所有运行容器id
docker ps -a 查看所有容器,包括已经关闭的
docker stop id 关闭容器
docker stop -f id 强制关闭容器
docker kill id 杀掉容器
docker rm -f id 强制删除容器
docker rm -f $(docker ps -qa) 强制删除所有容器
docker commit -m "修改首页" id newName 将容器保存为镜像
docker容器内部命令:
docker top id 查看容器内部进程
docker inspect id 查看容器内部信息
docker logs -f --tail 10 id 查看容器最后10行日志,并跟随最新日志
进入容器执行命令
docker exec -it id bash 进入容器执行命令 -i 交互式运行容器 -t 分配一个伪终端,通常与-it一起使用
echo "hello world" > index.html 将index.html内容修改为hello world
apt-get update docker容器默认ubuntu系统,该命令更新远程软件列表到本地
apt-get install vim 安装vim命令
exit 退出容器
docker cp id:容器内路径 宿主机路径 将docker内文件复制到宿主机
docker安装mysql
docker pull mysql:版本号 拉取指定版本mysql
docker run --name mysql -p 3306:3306 -v /home/mysql/data:/var/lib/mysql -v /home/mysql/config.d:/etc/mysql/config.d -e MYSQL_ROOT_PASSWORD=1234 -d mysql
启动mysql镜像,必须给root账户设置密码,否则启动不成功 -v 映射宿主机配置文件路径和数据保存路径
docker exec -it mysql bash 进入mysql容器
mysql -u root -p 输入密码,连接mysql
构建docket内部网络
docker network ls 查看所有网络
docker network create congnet 创建网络
docker inspect -f '{{.NetworkSettings.IPAddress}}' 容器id 查看容器ip
docker network inspect congnet 查看网络情况
docker network rm congnet 删除网络
docker run -d --name mynginx --net congnet nginx 启动nginx容器并放入congnet网络中
docker network connect congnet name/id 将已存在的容器加入到congnet网络中
docker network disconnect congnet name/id 将已存在的容器从congnet网络中移除
测试网络连通
apt-get update && apt-get install curl 安装curl命令
curl mynginx 测试是否可以到达mynginx
apt-get install iputils-ping 也可安装ping命令
ping mynginx 测试是否能ping通