Docker使用记录
安装(centos7)
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 查看具体版本
# yum list docker-ce --showduplicates | sort -r
yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
systemctl start docker
curl -sL https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 -o /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose
常用命令,以jenkins/jenkins:2.359-jdk11
镜像为例
# 拉取镜像
docker pull jenkins/jenkins:2.359-jdk11
# 运行, --add-host表示增加hosts, -d 表示后台运行, -v挂载目录,-p映射端口,--restart=on-failure表示失败自动重启,
docker run --name jenkins_2.359-jdk11 --add-host test.cn:1.1.1.1 \
-d -v /localhost/path:/var/jenkins_home -p 8080:8080 -p 50000:50000 \
--restart=on-failure jenkins/jenkins:2.359-jdk11
# 查看运行
docker ps -a
# 制作新镜像
docker commit jenkins:2.359-jdk11_container_id jenkins:2.359-jdk11-new-version
# 为新镜像打tag
docker tag jenkins:2.359-jdk11-new-version my-image-repo.com/jenkins:2.359-jdk11-new-version
# 提交新镜像到镜像仓库
docker push my-image-repo.com/jenkins:2.359-jdk11-new-version
# 进入容器内部操作
docker exec -it jenkins_container_id /bin/bash
# 停止容器
docker container stop jenkins_container_id
# 查看日志, 等于tail -f100 file
docker logs -f -n 100 jenkins_container_id
# 查看容器IP
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' jenkins_container_id
# 导出镜像
docker save images_id > file.tar
# 导入镜像
docker load < file.tar
其他
# 增加资源限制和参数
docker run --name tomcat --cpus 0.1 -m 512M -e JAVA_OPTS='-Xmx512m -Xms512m' -p 8080:8080 -itd feisky/tomcat:8
# 起一个mysql实例
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123qweQWE -d -p 3306:3306 mysql:5.7
# 起一个wordpress实例
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123qweQWE -d -p 3306:3306 mysql:5.6.44
docker run --name wordpress --link mysql -e WORDPRESS_DB_HOST=mysql:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD='123qweQWE' -e WORDPRESS_DB_NAME=wordpress -p 80:80 -d wordpress
docker服务默认使用/etc/docker/daemon.json配置文件,如下更改镜像拉取地址:
{
"data-root": "/data/docker",
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"],
"log-opts": {
"max-size": "1000m",
"max-file":"5"
}
}
官网样例:
{
"bip": "192.168.1.1/24",
"fixed-cidr": "192.168.1.0/25",
"fixed-cidr-v6": "2001:db8::/64",
"mtu": 1500,
"default-gateway": "192.168.1.254",
"default-gateway-v6": "2001:db8:abcd::89",
"dns": ["10.20.1.2","10.20.1.3"]
}